Azure OpenAI 및 텍스트 완성 개요

완료됨

Azure OpenAI Service는 GPT-3.5 및 GPT-4 모델 시리즈를 포함한 OpenAI의 강력한 언어 모델에 대한 REST API 액세스를 제공합니다. 이러한 모델은 콘텐츠 세대, 요약, 의미 체계 검색, 자연어에서 코드로의 번역을 포함하되 이에 국한되지 않는 특정 작업에 쉽게 적용할 수 있습니다.

REST API 액세스 외에도 Azure OpenAI 서비스에 액세스하기 위한 .NET SDK가 있습니다. 이것이 바로 애플리케이션을 빌드하는 데 사용할 것입니다. 그러나 애플리케이션을 빌드하기 전에 Azure OpenAI의 내용과 텍스트 완성에 대해 자세히 알아보겠습니다. 이를 통해 AI를 사용하여 놀라운 애플리케이션을 빌드하는 데 필요한 기반을 제공합니다.

Azure OpenAI 개요

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

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

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

텍스트 완성

이 단원에서는 텍스트 완성에 대해 알아봅니다. 완료 엔드포인트는 다양한 작업에 사용할 수 있습니다. Azure OpenAI 모델에 간단하지만 강력한 텍스트 입력, 텍스트 출력 인터페이스를 제공합니다. 프롬프트로 일부 텍스트를 입력하면 모델이 제공한 컨텍스트 또는 패턴과 일치시키려고 시도하는 텍스트 완성을 생성합니다. 예를 들어, API에 "데카르트가 말했듯이, 나는 생각한다. 고로"라는 프롬프트를 제공하면 높은 확률로 "나는 존재한다"를 완성하여 반환합니다.

AI는 기본적으로 확률적이므로 표시되는 실제 완성 결과는 다를 수 있습니다. 즉, 프롬프트가 동일하게 유지되더라도 호출할 때마다 약간 다른 완성을 얻을 수 있습니다.

이 간단한 "텍스트 입력, 텍스트 출력(text in, text out)" 인터페이스는 지침이나 원하는 작업의 몇 가지 예를 제공하여 모델을 "프로그래밍"할 수 있음을 의미합니다. 성공 여부는 일반적으로 작업의 복잡성과 프롬프트의 품질에 달려 있습니다. 일반적인 규칙은 어린 학생이 풀 수 있는 단어 문제를 어떻게 쓸 것인지 생각하는 것입니다. 잘 작성된 프롬프트는 모델이 원하는 것과 응답하는 방법을 알 수 있는 충분한 정보를 제공합니다.

나중에 좋은 프롬프트를 작성하는 방법을 살펴보겠습니다. 하지만 지금은 다양한 유형의 완성을 살펴보겠습니다.

Azure OpenAI 완성 유형

앞에서 설명한 대로 원하는 작업을 수행하는 방법에 대한 지침을 제공하는 프롬프트를 Azure OpenAI API에 전달합니다. 텍스트를 분류하거나, 아이디어를 생성하거나, 텍스트를 이모지로 번역하는 등의 작업을 수행할 수 있습니다.

분류

이 첫 번째 완성 형식의 경우 지침에 따라 모델을 "프로그래밍"하는 방법을 자세히 살펴보겠습니다.

미리 정의된 범주로 데이터를 정렬하려는 모델을 알릴 수 있습니다. 이 완성 유형을 분류라고 합니다.

예를 들어 완성 API와 유사한 지침 또는 프롬프트를 전달할 수 있습니다.

This is a sentiment classifier

Example: "I loved the new movie!"
Sentiment: Positive

Example: "I hate it when my phone battery dies"
Sentiment: Negative

Example: "My day has been 👍"
Sentiment: Positive

Example: "This is the link to the article"
Sentiment: Neutral

Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"

Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive

Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"

Sentiment classifications:
1.

모델에 감정별로 분류된 문장 예시 4개를 보여준 후, 예시 목록과 동일한 숫자 인덱스를 가진 감정 등급 목록을 제공합니다. API는 분류된 감정을 출력하는 방법을 선택할 수 있습니다.

그러면 모델이 원하는 작업으로 이어집니다. 분류할 수 있도록 5개의 감정을 부여한 다음, 순서가 지정된 목록에 있는 각 항목의 분류를 출력해야 합니다.

이를 통해 모델은 한 번의 호출에서 5개(그리고 더 많은) 예제를 평가할 수 있습니다.

프롬프트 또는 모델에 전달된 텍스트가 프로그래밍 언어인 방법을 확인할 수 있습니다.

Generation

다양한 GPT 모델로 수행할 수 있는 가장 강력하면서도 가장 간단한 작업 중 하나는 새로운 아이디어나 입력 버전을 생성하는 것입니다. 모델에 몇 가지 스토리 아이디어 목록을 제공하면 해당 목록에 추가하려고 합니다. 우리는 단지 몇 가지 예를 제공함으로써 사업 계획, 캐릭터 설명 및 마케팅 슬로건을 만드는 것을 보았습니다.

대화

모델은 인간과 대화를 수행하는 데 매우 능숙합니다. 심지어 자신과도 마찬가지입니다. 몇 줄의 지침만으로 모델이 당황하지 않고 질문에 지능적으로 답변하는 고객 서비스 챗봇이나 농담과 말장난을 하는 현명한 대화 파트너로 작동하는 것을 보았습니다.

변환

모델은 단어와 문자를 사용하여 정보를 표현할 수 있는 다양한 방법에 익숙한 언어 모델입니다. 이는 자연어 텍스트에서 코드 및 영어 이외의 언어에 이르기까지 다양합니다. 모델은 또한 콘텐츠를 다양한 방식으로 요약, 변환 및 표현할 수 있는 수준에서 콘텐츠를 이해할 수 있습니다.

Translation

모델은 이미 프랑스어와 같은 많은 언어를 파악하고 있으므로 가르칠 필요가 없습니다. 대신 프롬프트에서 번역의 예제를 충분히 제공하면 한 언어에서 다른 언어로 번역된다는 것을 이해할 수 있습니다.

전환

이 예에서는 영화 이름을 이모티콘으로 변환합니다. 이는 패턴을 선택하고 다른 캐릭터와 작업하는 모델의 적응성을 보여 줍니다.

여기서는 출력이 Spider-Man 영화의 이모지 표현이 될 것으로 예상합니다.

Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻‍♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:

요약

모델은 텍스트의 컨텍스트를 파악하고 이를 다양한 방식으로 바꿀 수 있습니다. 예를 들어 텍스트 블록을 사용하고 자식이 이해할 수 있는 설명을 만들 수 있습니다.

Completion

모든 프롬프트가 완성되는 결과를 가져오지만, 모델이 중단한 부분부터 선택하기를 원하는 경우 텍스트 완성을 자체 작업으로 생각하는 것이 도움이 될 수 있습니다. 예를 들어, 이 프롬프트가 주어지면 모델은 수직 농업에 대한 생각의 학습을 계속할 것입니다.

Vertical farming provides a novel solution for producing food locally, reducing transportation costs and

실제 응답

LLM(대규모 언어 모델)은 학습한 데이터에서 배운 많은 지식을 가지고 있습니다. 또한 매우 사실적으로 들리지만 실제로 꾸며낸 응답을 제공하는 기능이 있습니다. LLM이 답변을 구성할 가능성을 제한하는 두 가지 방법이 있습니다.

  • 1. API에 대한 기본 정보 제공 Wikipedia 항목과 같은 질문에 답변하기 위해 모델에 텍스트 본문을 제공하면 응답을 혼동할 가능성이 줄어듭니다.

  • 2. 낮은 확률을 사용하여 "모르겠다"라고 말하는 방법을 API에 보여 줍니다. 모델이 "모르겠다"라고 말하는 응답이 덜 확실할 때 또는 약간의 변형이 적절하다는 것을 이해한다면, 답변을 만드는 경향이 줄어들 것입니다.

이 예에서 모델이 알고 있는 질문과 답변의 예를 제공한 다음 알지 못할 것의 예를 제공하고 물음표를 제공합니다. 또한 모델이 의심의 여지가 있는 경우 "?"로 응답할 가능성이 더 높도록 확률을 0으로 설정했습니다.

Q: Who is Batman?
A: Batman is a fictional comic book character.

Q: What is torsalplexity?
A: ?

Q: What is Devz9?
A: ?

Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.

요약

Azure OpenAI Service는 GPT-3.5 및 GPT-4 모델 시리즈를 포함한 OpenAI의 강력한 언어 모델에 대한 REST API 액세스를 제공합니다. 또한 Azure 클라우드에서 사용하는 보안 및 엔터프라이즈 기능을 제공합니다.

OpenAI 언어 모델에서 가장 유용한 기능 중 하나는 텍스트 완성입니다. 모델이 수행할 작업에 대한 프롬프트 또는 일반 언어 설명을 전달하며 텍스트 분류, 텍스트 생성 또는 텍스트 요약과 같은 작업을 수행할 수 있습니다.

지식 점검

1.

분류 완성는 무엇을 합니까?