본문 바로가기

say와 AI 챗봇친구 만들기 보고서

GPT-35-Turbo 및 GPT-4 모델 작업 방법 알아보기 [애저 OpenAI, GPT & 프롬프트엔지니어링 - Light Up Azure]

728x90
반응형
SMALL

GPT-35-Turbo 및 GPT-4 모델 작업 방법 알아보기

 

GPT-35-Turbo 및 GPT-4 모델은 대화형 인터페이스에 최적화된 언어 모델입니다. 모델은 이전 GPT-3 모델과 다르게 동작합니다. 이전 모델은 텍스트 입력 및 텍스트 출력이었습니다. 즉, 프롬프트 문자열을 수락하고 프롬프트에 추가하기 위한 완성을 반환했습니다. 그러나 GPT-35-Turbo 및 GPT-4 모델은 대화 입력 및 메시지 출력입니다. 모델은 특정 채팅과 유사한 대화 내용 형식으로 형식화된 입력을 예상하고 채팅에서 모델 작성 메시지를 나타내는 완료를 반환합니다. 이 형식은 멀티 턴 대화를 위해 특별히 설계되었지만 비 채팅 시나리오에서도 잘 작동할 수 있습니다.

 

Azure OpenAI에는 이러한 유형의 모델과 상호 작용하기 위한 두 가지 옵션이 있습니다.

  • 채팅 완료 API.
  • ChatML(채팅 태그 언어)을 사용한 완료 API입니다.

채팅 완료 API는 GPT-35-Turbo 및 GPT-4 모델과 상호 작용하기 위한 새로운 전용 API입니다. 이 API는 이러한 모델에 액세스 하기 위한 기본 방법입니다. 또한 새 GPT-4 모델에 액세스할 수 있는 유일한 방법입니다.

ChatML은 text-davinci-002와 같은 다른 모델에 사용하는 것과 동일한 완성 API 를 사용하며 ChatML(채팅 태그 언어)이라는 고유한 토큰 기반 프롬프트 형식이 필요합니다. 이는 전용 채팅 완료 API보다 낮은 수준의 액세스를 제공하지만 추가 입력 유효성 검사가 필요하고 gpt-35-turbo 모델만 지원하며 기본 형식은 시간이 지남에 따라 변경될 가능성이 높습니다.

이 문서에서는 GPT-35-Turbo 및 GPT-4 모델을 시작하는 과정을 안내합니다. 여기에 설명된 기술을 사용하여 최상의 결과를 얻는 것이 중요합니다. 이전 모델 시리즈와 동일한 방식으로 모델과 상호 작용하려고 하면 모델은 종종 자세한 정보 표시가 되고 덜 유용한 응답을 제공합니다.

GPT-35-Turbo 및 GPT-4 모델 작업

다음 코드 조각은 채팅 완료 API와 함께 GPT-35-Turbo 및 GPT-4 모델을 사용하는 가장 기본적인 방법을 보여 줍니다. 이러한 모델을 프로그래밍 방식으로 처음 사용하는 경우 GPT-35-Turbo & GPT-4 빠른 시작부터 시작하는 것이 좋습니다.

Python복사
import os
import openai
openai.api_type = "azure"
openai.api_version = "2023-05-15" 
openai.api_base = os.getenv("OPENAI_API_BASE")  # Your Azure OpenAI resource's endpoint value.
openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.ChatCompletion.create(
    engine="gpt-35-turbo", # The deployment name you chose when you deployed the GPT-35-Turbo or GPT-4 model.
    messages=[
        {"role": "system", "content": "Assistant is a large language model trained by OpenAI."},
        {"role": "user", "content": "Who were the founders of Microsoft?"}
    ]
)

print(response)

print(response['choices'][0]['message']['content'])

출력

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "The founders of Microsoft are Bill Gates and Paul Allen. They co-founded the company in 1975.",
        "role": "assistant"
      }
    }
  ],
  "created": 1679014551,
  "id": "chatcmpl-6usfn2yyjkbmESe3G4jaQR6bsScO1",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 86,
    "prompt_tokens": 37,
    "total_tokens": 123
  }
}

 참고

다음 매개 변수는 새로운 GPT-35-Turbo 및 GPT-4 모델(logprobs, best_of 및 echo)에서 사용할 수 없습니다. 이러한 매개 변수를 설정하면 오류가 발생합니다.

모든 응답에는. 가 finish_reason포함됩니다. finish_reason에 가능한 값은 다음과 같습니다.

  • 중지: API가 전체 모델 출력을 반환했습니다.
  • length: max_tokens 매개 변수 또는 토큰 제한으로 인한 모델 출력이 불완전합니다.
  • content_filter: 콘텐츠 필터의 플래그로 인해 콘텐츠를 생략했습니다.
  • null:API 응답이 아직 진행 중이거나 불완전합니다.

300 또는 500과 같이 평소보다 약간 더 높은 값으로 설정하는 max_tokens 것이 좋습니다. 이렇게 하면 모델이 메시지 끝에 도달하기 전에 텍스트 생성을 중지하지 않습니다.

모델 버전 관리

 참고

gpt-35-turbo는 OpenAI의 gpt-3.5-turbo 모델과 동일합니다.

이전 GPT-3 및 GPT-3.5 모델 gpt-35-turbo과 달리 모델 gpt-4 및 gpt-4-32k 모델은 계속 업데이트됩니다. 이러한 모델의 배포를 만들 때 모델 버전도 지정해야 합니다.

모델 페이지에서 해당 모델의 모델 사용 중지 날짜를 확인할 수 있습니다.

채팅 완료 API 작업

OpenAI는 대화형식의 입력을 허용하도록 GPT-35-Turbo 및 GPT-4 모델을 학습했습니다. message 매개 변수는 역할별로 구성된 대화가 포함된 메시지 개체 배열을 사용합니다. Python API를 사용할 때 사전 목록이 사용됩니다.

기본 채팅 완료 형식은 다음과 같습니다.

복사
{"role": "system", "content": "Provide some context and/or instructions to the model"},
{"role": "user", "content": "The users messages goes here"}

한 가지 예제 답변과 질문으로 이어지는 대화는 다음과 같습니다.

복사
{"role": "system", "content": "Provide some context and/or instructions to the model."},
{"role": "user", "content": "Example question goes here."},
{"role": "assistant", "content": "Example answer goes here."},
{"role": "user", "content": "First question/message for the model to actually respond to."}

시스템 역할

시스템 메시지라고도 하는 시스템 역할은 배열의 시작 부분에 포함됩니다. 이 메시지는 모델에 대한 초기 지침을 제공합니다. 다음을 포함하여 시스템 역할에 다양한 정보를 제공할 수 있습니다.

  • 도우미 대한 간략한 설명
  • 도우미 성격 특성
  • 도우미 따르려는 지침 또는 규칙
  • 모델에 필요한 데이터 또는 정보(예: FAQ의 관련 질문)

사용 사례에 대한 시스템 역할을 사용자 지정하거나 기본 지침만 포함할 수 있습니다. 시스템 역할/메시지는 선택 사항이지만 최상의 결과를 얻으려면 최소한 기본 역할을 포함하는 것이 좋습니다.

메시지

시스템 역할 후에는 사용자와 도우미 간에 일련의 메시지를 포함할 수 있습니다.

복사
 {"role": "user", "content": "What is thermodynamics?"}

모델에서 응답을 트리거하려면 응답할 도우미 차례임을 나타내는 사용자 메시지로 끝나야 합니다. 몇 가지 샷 학습을 수행하는 방법으로 사용자와 도우미 간에 일련의 예제 메시지를 포함할 수도 있습니다.

메시지 프롬프트 예제

다음 섹션에서는 GPT-35-Turbo 및 GPT-4 모델과 함께 사용할 수 있는 다양한 스타일의 프롬프트 예를 보여 줍니다. 이러한 예제는 시작점에 불과하며 다양한 프롬프트를 실험하여 사용자 고유의 사용 사례에 대한 동작을 사용자 지정할 수 있습니다.

기본 예제

GPT-35-Turbo 모델이 chat.openai.com과 유사하게 작동하도록 하려면 “도우미는 OpenAI에서 학습한 대규모 언어 모델입니다.”와 같은 기본 시스템 메시지를 사용하면 됩니다.

복사
{"role": "system", "content": "Assistant is a large language model trained by OpenAI."},
{"role": "user", "content": "Who were the founders of Microsoft?"}

지침이 포함된 예제

일부 시나리오에서는 모델에 대한 추가 지침을 제공하여 모델이 수행할 수 있는 작업에 대한 가드레일을 정의할 수 있습니다.

복사
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer their tax related questions.
Instructions: 
- Only answer questions related to taxes. 
- If you're unsure of an answer, you can say "I don't know" or "I'm not sure" and recommend users go to the IRS website for more information. "},
{"role": "user", "content": "When are my taxes due?"}

접지용 데이터 사용

시스템 메시지에 관련 데이터 또는 정보를 포함하여 모델에 대화에 대한 추가 콘텍스트를 제공할 수도 있습니다. 적은 양의 정보만 포함해야 하는 경우 시스템 메시지에서 하드 코딩할 수 있습니다. 모델에서 알아야 할 많은 양의 데이터가 있는 경우 임베딩 또는 Azure Cognitive Search와 같은 제품을 사용하여 쿼리 시 가장 관련성이 큰 정보를 검색할 수 있습니다.

복사
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer technical questions about Azure OpenAI Serivce. Only answer questions using the context below and if you're not sure of an answer, you can say 'I don't know'.

Context:
- Azure OpenAI Service provides REST API access to OpenAI's powerful language models including the GPT-3, Codex and Embeddings model series.
- Azure OpenAI Service gives customers advanced language AI with OpenAI GPT-3, Codex, and DALL-E models with the security and enterprise promise of Azure. Azure OpenAI co-develops the APIs with OpenAI, ensuring compatibility and a smooth transition from one to the other.
- At Microsoft, we're committed to the advancement of AI driven by principles that put people first. Microsoft has made significant investments to help guard against abuse and unintended harm, which includes requiring applicants to show well-defined use cases, incorporating Microsoft’s principles for responsible AI use."
},
{"role": "user", "content": "What is Azure OpenAI Service?"}

채팅 완료를 사용하여 몇 가지 샷 학습

모델에 몇 가지 샷 예제를 제공할 수도 있습니다. 몇 가지 샷 학습에 대한 접근 방식은 새로운 프롬프트 형식으로 인해 약간 변경되었습니다. 이제 프롬프트에 사용자와 도우미 간의 일련의 메시지를 몇 가지 샷 예제로 포함할 수 있습니다. 이러한 예제를 사용하여 일반적인 질문에 대한 답변을 시드 하여 모델을 초기화하거나 모델에 특정 동작을 가르칠 수 있습니다.

이는 GPT-35-Turbo 및 GPT-4로 소수의 샷 학습을 사용할 수 있는 방법의 한 예일뿐입니다. 다양한 방법을 실험하여 사용 사례에 가장 적합한 방법을 확인할 수 있습니다.

복사
{"role": "system", "content": "Assistant is an intelligent chatbot designed to help users answer their tax related questions. "},
{"role": "user", "content": "When do I need to file my taxes by?"},
{"role": "assistant", "content": "In 2023, you will need to file your taxes by April 18th. The date falls after the usual April 15th deadline because April 15th falls on a Saturday in 2023. For more details, see https://www.irs.gov/filing/individuals/when-to-file."},
{"role": "user", "content": "How can I check the status of my tax refund?"},
{"role": "assistant", "content": "You can check the status of your tax refund by visiting https://www.irs.gov/refunds"}

채팅이 아닌 시나리오에 채팅 완료 사용

채팅 완료 API는 다중 턴 대화에서 작동하도록 설계되었지만 비 채팅 시나리오에도 적합합니다.

예를 들어 엔터티 추출 시나리오의 경우 다음 프롬프트를 사용할 수 있습니다.

복사
{"role": "system", "content": "You are an assistant designed to extract entities from text. Users will paste in a string of text and you will respond with entities you've extracted from the text as a JSON object. Here's an example of your output format:
{
   "name": "",
   "company": "",
   "phone_number": ""
}"},
{"role": "user", "content": "Hello. My name is Robert Smith. I'm calling from Contoso Insurance, Delaware. My colleague mentioned that you are interested in learning about our comprehensive benefits policy. Could you give me a call back at (555) 346-9322 when you get a chance so we can go over the benefits?"}

기본 대화 루프 만들기

지금까지의 예제에서는 채팅 완료 API와 상호 작용하는 기본 메커니즘을 보여 줍니다. 이 예제에서는 다음 작업을 수행하는 대화 루프를 만드는 방법을 보여 줍니다.

  • 콘솔 입력을 지속적으로 사용하고 메시지 목록의 일부로써 사용자 역할 콘텐츠로 적절하게 서식을 지정합니다.
  • 콘솔에 출력되고 서식이 지정되어 메시지 목록에 도우미 역할 콘텐츠로 추가되는 응답을 출력합니다.

즉, 새로운 질문을 할 때마다 지금까지 대화의 실행 녹취록이 최신 질문과 함께 전송됩니다. 모델에는 메모리가 없으므로 새 질문마다 업데이트된 대본을 보내야 합니다. 그렇지 않으면 모델이 이전 질문과 답변의 콘텍스트를 잃게 됩니다.

Python복사
import os
import openai
openai.api_type = "azure"
openai.api_version = "2023-05-15" 
openai.api_base = os.getenv("OPENAI_API_BASE")  # Your Azure OpenAI resource's endpoint value .
openai.api_key = os.getenv("OPENAI_API_KEY")

conversation=[{"role": "system", "content": "You are a helpful assistant."}]

while True:
    user_input = input()      
    conversation.append({"role": "user", "content": user_input})

    response = openai.ChatCompletion.create(
        engine="gpt-3.5-turbo", # The deployment name you chose when you deployed the GPT-35-turbo or GPT-4 model.
        messages=conversation
    )

    conversation.append({"role": "assistant", "content": response["choices"][0]["message"]["content"]})
    print("\n" + response['choices'][0]['message']['content'] + "\n")

위의 코드를 실행하면 빈 콘솔 창이 표시됩니다. 창에 첫 번째 질문을 입력한 다음 Enter 키를 누릅니다. 응답이 반환되면 프로세스를 반복하고 질문을 계속할 수 있습니다.

대화 관리

이전 예제는 모델의 토큰 제한에 도달할 때까지 실행됩니다. 질문을 하고 답변을 받을 때마다 messages 목록의 크기가 커집니다. 토큰 한도 gpt-35-turbo는 4096개인 반면 토큰 제한 gpt-4 gpt-4-32k 은 각각 8192 및 32768입니다. 이러한 한도에는 전송된 메시지 목록과 모델 응답 모두의 토큰 수가 포함됩니다. max_tokens 매개 변수 값과 결합된 메시지 목록의 토큰 수는 이러한 제한 내에서 유지되어야 합니다. 그렇지 않으면 오류가 발생합니다.

프롬프트 및 완료가 토큰 제한에 속하도록 하는 것은 사용자의 책임입니다. 즉, 더 긴 대화의 경우 토큰 수를 추적하고 모델에 제한에 속하는 프롬프트만 보내야 합니다.

 참고

한도를 초과할 수 있는 경우에도 모든 모델에 대해 문서화된 입력 토큰 한도를 초과하지 않는 것이 좋습니다.

다음 코드 샘플에서는 OpenAI의 tiktoken 라이브러리를 사용하여 4096 토큰 수를 처리하는 기술이 포함된 간단한 채팅 루프 예제를 보여 줍니다.

코드에는 tiktoken 0.3.0이 필요합니다. 이전 버전이 있는 경우. pip install tiktoken --upgrade

Python복사
import tiktoken
import openai
import os

openai.api_type = "azure"
openai.api_version = "2023-05-15" 
openai.api_base = os.getenv("OPENAI_API_BASE")  # Your Azure OpenAI resource's endpoint value.
openai.api_key = os.getenv("OPENAI_API_KEY")

system_message = {"role": "system", "content": "You are a helpful assistant."}
max_response_tokens = 250
token_limit = 4096
conversation = []
conversation.append(system_message)


def num_tokens_from_messages(messages):
    encoding= tiktoken.get_encoding("cl100k_base")  #model to encoding mapping https://github.com/openai/tiktoken/blob/main/tiktoken/model.py
    num_tokens = 0
    for message in messages:
        num_tokens += 4  # every message follows <im_start>{role/name}\n{content}<im_end>\n
        for key, value in message.items():
            num_tokens += len(encoding.encode(value))
            if key == "name":  # if there's a name, the role is omitted
                num_tokens += -1  # role is always required and always 1 token
    num_tokens += 2  # every reply is primed with <im_start>assistant
    return num_tokens

while True:
    user_input = input("")     
    conversation.append({"role": "user", "content": user_input})
    conv_history_tokens = num_tokens_from_messages(conversation)

    while conv_history_tokens + max_response_tokens >= token_limit:
        del conversation[1] 
        conv_history_tokens = num_tokens_from_messages(conversation)

    response = openai.ChatCompletion.create(
        engine="gpt-35-turbo", # The deployment name you chose when you deployed the GPT-35-Turbo or GPT-4 model.
        messages=conversation,
        temperature=0.7,
        max_tokens=max_response_tokens,
    )

    conversation.append({"role": "assistant", "content": response['choices'][0]['message']['content']})
    print("\n" + response['choices'][0]['message']['content'] + "\n")

이 예에서는 토큰 수에 도달하면 대화 내용 기록에서 가장 오래된 메시지가 제거됩니다. del는 효율성 대신 pop() 사용되며, 항상 시스템 메시지를 유지하고 사용자/도우미 메시지만 제거하기 위해 인덱스 1에서 시작합니다. 시간이 지남에 따라 이 대화 관리 방법으로 인해 모델이 대화의 이전 부분의 콘텍스트를 점차 잃게 되므로 대화 품질이 저하될 수 있습니다.

다른 방법은 대화 기간을 최대 토큰 길이 또는 특정 턴 수로 제한하는 것입니다. 최대 토큰 한도에 도달하였고, 대화를 계속하도록 허용할 경우에 모델에서 콘텍스트가 손실되면 사용자에게 새 대화를 시작해야 하고 메시지 목록을 지워야 한다는 메시지를 표시하여 사용 가능한 전체 토큰 한도로 완전히 새로운 대화를 시작할 수 있습니다.

앞에서 설명한 코드의 토큰 계산 부분은 OpenAI의 쿡북 예 중 하나의 간소화된 버전입니다.

 

Azure OpenAI Service란?

애저 OpenAI, GPT & 프롬프트엔지니어링 | Light Up Azure

 

 

Azure OpenAI 서비스는 GPT-4, GPT-3.5-Turbo 및 Embeddings 모델 시리즈를 포함하여 OpenAI의 강력한 언어 모델에 대한 REST API 액세스를 제공합니다. 또한 새로운 GPT-4 및 GPT-3.5-Turbo 모델 시리즈는 이제 일반 공급에 도달했습니다. 이러한 모델은 콘텐츠 세대, 요약, 의미 체계 검색, 자연어에서 코드로의 번역을 포함하되 이에 국한되지 않는 특정 작업에 쉽게 적용할 수 있습니다. 사용자는 REST API, Python SDK 또는 Azure OpenAI Studio의 웹 기반 인터페이스를 통해 서비스에 액세스 할 수 있습니다.

기능 개요

기능Azure OpenAI
사용 가능한 모델 GPT-4 시리즈
GPT-3.5-Turbo 시리즈
Embeddings 시리즈
모델 페이지에서 자세히 알아보세요.
미세 조정(미리 보기) GPT-3.5-Turbo (0613)
babbage-002
davinci-002.
가격 여기에서 사용 가능
가상 네트워크 지원 & 프라이빗 링크 지원 예, 데이터에 Azure OpenAI를 사용하지 않는 한 가능합니다.
관리 ID 예, Microsoft Entra ID를 통해
UI 환경 계정 & 리소스 관리를 위한 Azure Portal
모델 탐색 및 미세 조정을 위한 Azure OpenAI Service Studio
모델 지역별 가용성 모델 가용성
콘텐츠 필터링 프롬프트 및 완료는 자동화된 시스템을 사용하여 콘텐츠 정책에 따라 평가됩니다. 심각도가 높은 콘텐츠는 필터링됩니다.

책임 있는 AI

Microsoft는 사용자를 최우선으로 하는 원칙에 따라 AI를 발전시키기 위해 최선을 다하고 있습니다. Azure OpenAI에서 사용할 수 있는 모델과 같은 생성 모델은 상당한 잠재적 이점을 제공하지만 신중한 디자인과 신중한 완화가 없으면 이러한 모델은 잘못되거나 심지어 유해한 콘텐츠를 생성할 가능성이 있습니다. Microsoft는 남용 및 의도하지 않은 피해를 방지하기 위해 상당한 투자를 했습니다. 여기에는 신청자가 잘 정의된 사용 사례를 보여 주도록 요구하고, Microsoft의 책임 있는 AI 사용 원칙을 통합하고, 고객을 지원하기 위한 콘텐츠 필터를 빌드하고, 온보딩 고객에게 책임 있는 AI 구현 지침을 제공하는 것이 포함됩니다.

Azure OpenAI에 액세스 하려면 어떻게 해야 하나요?

Azure OpenAI에 액세스하려면 어떻게 해야 하나요?

현재 높은 수요, 예정된 제품 개선 사항, 책임 있는 AI에 대한 Microsoft의 약속을 탐색하기 때문에 액세스가 제한됩니다. 현재 우리는 Microsoft와의 기존 파트너십, 위험이 낮은 사용 사례 및 완화 통합에 전념하는 고객과 협력하고 있습니다.

보다 구체적인 정보는 신청 양식에 포함되어 있습니다. Azure OpenAI에 대한 보다 광범위한 액세스를 책임감 있게 활성화하기 위해 노력하면서 여러분의 인내심을 높이 평가해 드립니다.

액세스를 위해 여기에 적용합니다.

지금 적용

Azure OpenAI 및 OpenAI 비교

Azure OpenAI 서비스는 Azure의 보안 및 엔터프라이즈 약속을 사용하여 OpenAI GPT-4, GPT-3, Codex, DALL-E 및 Whisper 모델을 사용하는 고급 언어 AI를 고객에게 제공합니다. Azure OpenAI는 OpenAI와 API를 공동 개발하여 호환성과 원활한 전환을 보장합니다.

Azure OpenAI를 사용하면 고객은 OpenAI와 동일한 모델을 실행하면서 Microsoft Azure의 보안 기능을 얻을 수 있습니다. Azure OpenAI는 프라이빗 네트워킹, 지역 가용성 및 책임 있는 AI 콘텐츠 필터링을 제공합니다.

주요 개념

& 프롬프트 완료

완성 엔드포인트는 API 서비스의 핵심 구성 요소입니다. 이 API는 모델의 텍스트 입력, 텍스트 출력 인터페이스에 대한 액세스를 제공합니다. 사용자는 영어 텍스트 명령이 포함된 입력 프롬프트를 제공하기만 하면 모델에서 텍스트 완성을 생성합니다.

간단한 프롬프트 및 완성 예제는 다음과 같습니다.

프롬프트: """ count to 5 in a for loop """

완성: for i in range(1, 6): print(i)

토큰

Azure OpenAI는 텍스트를 토큰으로 분해하여 처리합니다. 토큰은 단어 또는 문자 청크일 수 있습니다. 예를 들어 "hamburger"라는 단어는 "ham", "bur" 및 "ger" 토큰으로 분해되지만, "pear"와 같은 짧고 일반적인 단어는 단일 토큰입니다. 많은 토큰이 공백으로 시작합니다(예: " hello" 및 " bye").

지정된 요청에서 처리되는 총 토큰 수는 입력, 출력 및 요청 매개 변수의 길이에 따라 달라집니다. 처리되는 토큰의 양은 모델의 응답 대기 시간 및 처리량에도 영향을 줍니다.

리소스

Azure OpenAI는 Azure의 새로운 제품 제품입니다. Azure 구독에서 리소스 또는 서비스 인스턴스를 만드는 다른 Azure 제품과 동일한 방식으로 Azure OpenAI를 시작할 수 있습니다. Azure의 리소스 관리 디자인에 대해 자세히 알아볼 수 있습니다.

배포

Azure OpenAI 리소스가 만들어지면 API 호출 및 텍스트 생성을 시작하기 전에 먼저 모델을 배포해야 합니다. 이 작업은 배포 API를 사용하여 수행할 수 있습니다. 이러한 API를 사용하면 사용하려는 모델을 지정할 수 있습니다.

신속한 엔지니어링

OpenAI의 GPT-3, GPT-3.5 및 GPT-4 모델은 프롬프트 기반입니다. 프롬프트 기반 모델에서 사용자는 텍스트 프롬프트를 입력하여 모델과 상호 작용하고 모델은 텍스트 완료로 응답합니다. 이렇게 완료하면 모델의 텍스트 입력이 계속됩니다.

이러한 모델은 매우 강력하지만 해당 동작은 프롬프트에 매우 민감하기도 합니다. 이는 신속한 엔지니어링을 개발하는 데 중요한 기술로 만듭니다.

프롬프트 생성이 어려울 수 있습니다. 실제로 프롬프트는 원하는 작업을 완료하도록 모델 가중치를 구성하는 역할을 하지만, 성공적인 프롬프트를 만들기 위해 종종 경험과 직관이 필요한 과학보다는 예술에 가부장적입니다.

모델

이 서비스는 사용자에게 몇 가지 다른 모델에 대한 액세스를 제공합니다. 각 모델은 다른 기능과 가격대를 제공합니다.

현재 미리 보기 중인 DALL-E 모델은 사용자가 제공하는 텍스트 프롬프트에서 이미지를 생성합니다.

현재 미리 보기로 있는 위스퍼 모델은 음성을 텍스트로 전사하고 번역하는 데 사용할 수 있습니다.

모델 개념 페이지에서 각 모델에 대해 자세히 알아보세요.

 

Azure OpenAI Service 모델

 

 

Azure OpenAI 서비스는 다양한 기능과 가격대를 갖춘 다양한 모델 집합으로 구동됩니다. 모델 가용성은 지역에 따라 다릅니다. 2024년 7월에 만료되는 GPT-3 및 기타 모델에 대해서는 Azure OpenAI 서비스 레거시 모델을 참조하세요.

모델설명
GPT-4 GPT-3.5를 개선하고 자연어와 코드를 이해하고 생성할 수 있는 모델 집합입니다.
GPT-3.5 GPT-3을 개선하고 자연어와 코드를 이해하고 생성할 수 있는 모델 집합입니다.
포함 텍스트 유사성을 촉진하기 위해 텍스트를 숫자 벡터 형식으로 변환할 수 있는 모델 집합입니다.
DALL-E(미리 보기) 자연어에서 원본 이미지를 생성할 수 있는 일련의 미리 보기 모델입니다.
Whisper(미리 보기) 음성을 텍스트로 기록하고 번역할 수 있는 일련의 미리 보기 모델입니다.

GPT-4

GPT-4는 OpenAI의 이전 모델보다 더 높은 정확도로 어려운 문제를 해결할 수 있습니다. GPT-3.5 Turbo와 마찬가지로 GPT-4는 채팅에 최적화되어 있고 기존 완료 작업에 적합합니다. GPT-4를 사용하려면 채팅 Completions API를 사용합니다. GPT-4 및 채팅 Completions API와 상호 작용하는 방법에 대해 자세히 알아보려면 자세한 방법을 확인합니다.

  • gpt-4
  • gpt-4-32k

모델 요약 테이블의 각 모델에서 지원하는 토큰 컨텍스트 길이를 볼 수 있습니다.

GPT-3.5

GPT-3.5 모델은 자연어 또는 코드를 이해하고 생성할 수 있습니다. GPT-3.5 제품군에서 가장 유능하고 비용 효율적인 모델은 GPT-3.5 Turbo로, 이는 채팅에 최적화되었으며 기존 완료 작업에도 잘 작동합니다. GPT-3.5 Turbo는 채팅 완료 API에서 사용할 수 있습니다. GPT-3.5 Turbo Instruct에는 채팅 완료 API 대신 완료 API를 사용하는 text-davinci-003과 유사한 기능이 있습니다. 레거시 GPT-3.5 및 GPT-3 모델보다는 GPT-3.5 Turbo 및 GPT-3.5 Turbo Instruct를 사용하는 것이 좋습니다.

  • gpt-35-turbo
  • gpt-35-turbo-16k
  • gpt-35-turbo-instruct

모델 요약 테이블의 각 모델에서 지원하는 토큰 컨텍스트 길이를 볼 수 있습니다.

GPT-3.5 Turbo 및 채팅 Completions API와 상호 작용하는 방법에 대해 자세히 알아보려면 자세한 방법을 확인합니다.

임베딩 모델

 

 중요

사용하는 text-embedding-ada-002 (Version 2)것이 좋습니다. 이 모델/버전은 OpenAI와 text-embedding-ada-002패리티를 제공합니다. 이 모델에서 제공하는 향상된 기능에 대해 자세히 알아보려면 OpenAI의 블로그 게시물을 참조하세요. 현재 버전 1을 사용 중인 경우에도 최신 가중치/업데이트된 토큰 제한을 활용하려면 버전 2로 마이그레이션해야 합니다. 버전 1과 버전 2는 서로 교환할 수 없으므로 동일한 버전의 모델을 사용하여 문서 포함 및 문서 검색을 수행해야 합니다.

이전 포함 모델은 다음과 같은 새로운 교체 모델로 통합되었습니다.

text-embedding-ada-002

DALL-E(미리 보기)

현재 미리 보기 중인 DALL-E 모델은 사용자가 제공하는 텍스트 프롬프트에서 이미지를 생성합니다.

Whisper(미리 보기)

현재 미리 보기 중인 Whisper 모델은 음성을 텍스트로 변환하는 데 사용할 수 있습니다.

Azure AI 음성 일괄 처리 대화 기록 API를 통해 Whisper 모델을 사용할 수도 있습니다. Azure AI 음성과 Azure OpenAI Service를 언제 사용해야 하는지 자세히 알아보려면 Whisper 모델이란?을 확인하세요.

모델 요약 테이블 및 지역 가용성

 중요

높은 수요로 인해:

  • 미국 중남부에서는 새로운 리소스를 만들고 배포하는 데 일시적으로 사용할 수 없습니다.

GPT-4 모델

이제 모든 Azure OpenAI 서비스 고객이 GPT-4 및 GPT-4-32k를 사용할 수 있습니다. 가용성은 지역에 따라 다릅니다. 해당 지역에 GPT-4가 표시되지 않으면 나중에 다시 검사.

이러한 모델은 채팅 완료 API에서만 사용할 수 있습니다.

GPT-4 버전 0314는 릴리스된 모델의 첫 번째 버전입니다. 버전 0613은 모델의 두 번째 버전이며 함수 호출 지원을 추가합니다.

Model ID기본 모델 영역미세 조정 지역최대 요청(토큰)학습 데이터(최대)
gpt-42 (0314) 미국동부 1, 프랑스 중부1 해당 없음3 8,192 2021년 9월
gpt-4-32k2 (0314) 미국동부 1, 프랑스 중부1 해당 없음3 32,768 2021년 9월
gpt-4(0613) 오스트레일리아 동부1, 캐나다 동부, 미국 동부 1, 미국동부 21, 프랑스 중부1, 일본 동부1, 스웨덴 중부, 스위스 북부, 영국 남부1 해당 없음3 8,192 2021년 9월
gpt-4-32k(0613) 오스트레일리아 동부1, 캐나다 동부, 미국 동부 1, 미국동부 21, 프랑스 중부1, 일본 동부1, 스웨덴 중부, 스위스 북부, 영국 남부1 해당 없음3 32,768 2021년 9월

1 높은 수요로 인해 지역에서 가용성이 제한됩니다.
2 gpt-4 및 gpt-4-32k의 버전 0314는 2024년 7월 5일 이전에 사용 중지됩니다. 모델 업그레이드 동작은 모델 업데이트를 참조하세요.
3 GPT-4 모델에는 미세 조정이 지원되지 않습니다.

GPT-3.5 모델

GPT-3.5 Turbo는 채팅 완료 API와 함께 사용됩니다. GPT-3.5 Turbo(0301)는 완료 API와 함께 사용할 수도 있습니다. GPT3.5 Turbo(0613)는 채팅 완료 API만 지원합니다.

GPT-3.5 Turbo 버전 0301은 릴리스된 모델의 첫 번째 버전입니다. 버전 0613은 모델의 두 번째 버전이며 함수 호출 지원을 추가합니다.

Model ID기본 모델 영역미세 조정 지역최대 요청(토큰)학습 데이터(최대)
gpt-35-turbo1(0301) 미국 동부, 프랑스 중부, 미국 중남부, 영국 남부, 서유럽 해당 없음 4,096 2021년 9월
gpt-35-turbo(0613) 오스트레일리아 동부, 캐나다 동부, 미국 동부, 미국 동부 2, 프랑스 중부, 일본 동부, 미국 중북부, 스웨덴 중부, 스위스 북부, 영국 남부 해당 없음 4,096 2021년 9월
gpt-35-turbo-16k(0613) 오스트레일리아 동부, 캐나다 동부, 미국 동부, 미국 동부 2, 프랑스 중부, 일본 동부, 미국 중북부, 스웨덴 중부, 스위스 북부, 영국 남부 해당 없음 16,384 2021년 9월
gpt-35-turbo-instruct(0914) 미국 동부, 스웨덴 중부 해당 없음 4,097 2021년 9월

gpt-35-turbo의 1 버전 0301은 2024년 7월 5일 이전에 사용 중지됩니다. 모델 업그레이드 동작은 모델 업데이트를 참조하세요.

임베딩 모델

이러한 모델은 API 요청 포함에만 사용할 수 있습니다.

 참고

사용하는 text-embedding-ada-002 (Version 2)것이 좋습니다. 이 모델/버전은 OpenAI와 text-embedding-ada-002패리티를 제공합니다. 이 모델에서 제공하는 향상된 기능에 대해 자세히 알아보려면 OpenAI의 블로그 게시물을 참조하세요. 현재 버전 1을 사용 중인 경우에도 최신 가중치/업데이트된 토큰 제한을 활용하려면 버전 2로 마이그레이션해야 합니다. 버전 1과 버전 2는 서로 교환할 수 없으므로 동일한 버전의 모델을 사용하여 문서 포함 및 문서 검색을 수행해야 합니다.

Model ID기본 모델 영역미세 조정 지역최대 요청(토큰)학습 데이터(최대)출력 크기
text-embedding-ada-002(버전 2) 오스트레일리아 동부, 캐나다 동부, 미국 동부, 미국 동부2, 프랑스 중부, 일본 동부, 미국 중북부, 미국 중남부, 스위스 북부, 영국 남부, 서유럽 해당 없음 8,191 2021년 9월 1536
text-embedding-ada-002(버전 1) 미국 동부, 미국 중남부, 서유럽 해당 없음 2,046 2021년 9월 1536

DALL-E 모델(미리 보기)

Model ID기본 모델 영역미세 조정 지역최대 요청(문자)학습 데이터(최대)
dalle2 미국 동부 해당 없음 1000 해당 없음

Whisper 모델(미리 보기)

Model ID기본 모델 영역미세 조정 지역최대 요청(오디오 파일 크기)학습 데이터(최대)
Whisper 미국 중북부, 서유럽 해당 없음 25MB 해당 없음
 
728x90
반응형
LIST