LLM의 Core 개념

완료됨

LLM을 효과적으로 사용하기 위해 이해해야 하는 몇 가지 핵심 개념, 즉 토큰프롬프트가 있습니다.

  • 프롬프트: 프롬프트는 LLM을 지시하는 데 사용되는 텍스트 문장입니다. 문장을 어떻게 표현하느냐에 따라 결과가 달라집니다.
  • 토큰: 토큰은 단일 문자, 단어의 일부 또는 전체 단어일 수 있습니다. 단일 토큰은 일반적인 단어를 나타내는 데 사용될 수 있지만, 덜 일반적인 단어를 나타내려면 여러 토큰이 필요합니다.

프롬프트

텍스트 프롬프트는 문장입니다. LLM은 여러 가지 다른 언어를 이해합니다. LLM 작업을 위해 특정 언어를 알아볼 필요 없이 모국어로 프롬프트를 작성할 수 있습니다. 다음 프롬프트 예를 참조하세요.

  • 해적 모자를 쓴 분홍색 앵무새의 이미지를 생성합니다.

  • Python으로 고객을 처리하는 웹앱을 만듭니다.

요청하는 내용이 구체적일수록 결과가 더 좋습니다.

토큰

토큰은 LLM이 이해하고 처리할 수 있는 기본 단위 텍스트 또는 코드입니다.

OpenAI 자연어 모델은 단어나 문자를 텍스트 단위로 작동하지 않고 그 중간 요소인 토큰을 기반으로 작동합니다.

OpenAI는 요청을 토큰화하는 방법을 이해하는 데 도움이 되는 유용한 토크나이저 웹 사이트를 제공합니다. 자세한 내용은 OpenAI 토크나이저를 참조하세요.

참고 항목

OpenAI 토크나이저 프롬프트 상자 안에 입력을 시작하면 상자에 있는 총 토큰 수를 계산하는 카운터가 나타납니다.

활발히 입력하고 있는 경우 카운터가 업데이트되는 데 몇 초 정도 걸릴 수 있습니다.

다음 단어에는 몇 개의 토큰이 들어있나요?

다음 단어 apple, blueberriesSkarsgård에 대한 토큰 수를 결정해 보겠습니다.

apple이라는 단어는 일반적인 단어이므로 표시하려면 하나의 토큰이 필요합니다. 반면, 단어 blueberries를 표시하려면 두 개의 토큰(blueberries)이 필요합니다. 단어가 일반적이지 않은 경우 Skarsgård와 같은 고유 이름을 표시하려면 여러 토큰이 필요합니다.

이 토큰 표현을 통해 AI 모델은 문자별로 텍스트를 생성하지 않고도 어떤 사전에서도 찾을 수 없는 단어를 생성할 수 있습니다.

참고 항목

문자별로 텍스트를 생성하면 쉽게 횡설수설이 발생할 수 있습니다.

완료는 어떻게 이루어지나요?

자연어 모델은 비결정적 방식으로 한 번에 하나의 토큰 완료를 생성합니다.

각 단계에서 모델은 토큰 목록과 관련 가중치를 내보냅니다. 그런 다음 API는 가중치를 기준으로 목록에서 하나의 토큰을 샘플링합니다. 가중치가 높은 토큰이 선택될 가능성이 더 높습니다.

n개의 입력 토큰을 나타내는 여러 개의 정사각형 블록(그 옆에 하나의 출력 토큰을 나타내는 하나의 정사각형 블록을 가리키는 화살표가 있음)을 보여 주는 다이어그램

API는 선택한 토큰을 프롬프트에 추가하고 완료를 위한 최대 토큰 길이에 도달하거나 모델이 새 토큰 생성을 방지하는 중지 토큰이라는 특수 토큰을 생성할 때까지 프로세스를 반복합니다.

이 비결정적 프로세스로 인해 완료 요청을 보낼 때마다 모델이 새 단어를 생성하게 됩니다.

참고 항목

각 LLM에는 생성할 수 있는 토큰 수에 제한이 있습니다. 완료 시 이 제한은 원래 프롬프트의 총 토큰 수와 함께 추가될 때 새로 생성된 토큰 수에 적용됩니다. 토큰 제한에 대한 자세한 내용은 Azure OpenAI Service 모델을 참조하세요.

토큰 제한이 크면 완료 기간이 길어지고 메시지가 훨씬 커집니다.