LLM: 미세 조정, 정제, 프롬프트 엔지니어링

이전 단위에서는 다음과 같이 다양한 이름으로 알려진 범용 LLM을 설명했습니다.

  • 기초 LLM
  • 기본 LLM
  • 사전 학습된 LLM

기반 LLM은 문법, 단어, 관용어에 관해 상당한 양의 정보를 '알도록' 충분한 양의 자연어로 학습됩니다. 기반 언어 모델은 학습한 주제에 관한 유용한 문장을 생성할 수 있습니다. 또한 기반 LLM은 시 쓰기와 같이 전통적으로 '창의적'이라고 불리는 특정 작업을 실행할 수 있습니다. 그러나 기반 LLM의 생성형 텍스트 출력은 회귀나 분류와 같은 다른 종류의 일반적인 ML 문제에 대한 해결책이 아닙니다. 이러한 사용 사례의 경우 기반 LLM이 솔루션이 아닌 플랫폼으로 작동할 수 있습니다.

기반 LLM을 애플리케이션의 요구사항을 충족하는 솔루션으로 변환하려면 미세 조정이라는 프로세스가 필요합니다. 정제라는 보조 프로세스는 미세 조정된 모델의 더 작고 (매개변수가 적은) 버전을 생성합니다.

미세 조정

연구에 따르면 기반 언어 모델의 패턴 인식 능력이 매우 강력하여 특정 작업을 학습하는 데 비교적 적은 양의 추가 학습만 필요한 경우도 있습니다. 이러한 추가 학습을 통해 모델이 특정 작업에 대해 더 정확한 예측을 할 수 있습니다. 미세 조정이라고 하는 이 추가 학습은 LLM의 실용적인 측면을 활용합니다.

미세 조정은 애플리케이션에서 실행할 작업과 관련된 예시를 바탕으로 학습합니다. 엔지니어는 수백 개 또는 수천 개의 학습 예에서 기반 LLM을 미세 조정할 수 있습니다.

표준 미세 조정은 비교적 적은 수의 학습 예시에도 불구하고 계산 비용이 많이 드는 경우가 많습니다. 표준 미세 조정에는 각 backpropagation 반복에서 모든 매개변수의 가중치와 편향을 업데이트하는 작업이 포함되기 때문입니다. 다행히 매개변수 효율적인 조정이라는 더 스마트한 프로세스를 사용하면 각 역전파 반복에서 매개변수의 하위 집합만 조정하여 LLM을 미세 조정할 수 있습니다.

미세 조정된 모델의 예측은 일반적으로 기반 LLM의 예측보다 우수합니다. 그러나 미세 조정된 모델은 기반 LLM과 동일한 수의 매개변수를 포함합니다. 따라서 기반 LLM에 100억 개의 매개변수가 포함된 경우 미세 조정된 버전에도 100억 개의 매개변수가 포함됩니다.

정제

미세 조정된 대부분의 LLM에는 엄청난 수의 매개변수가 포함되어 있습니다. 따라서 기반 LLM이 예측을 생성하기 위해서는 막대한 컴퓨팅 및 환경 리소스가 필요합니다. 이러한 매개변수의 상당 부분은 일반적으로 특정 애플리케이션과 관련이 없습니다.

정제는 더 작은 버전의 LLM을 만듭니다. 정제된 LLM은 훨씬 빠르게 예측을 생성하며 전체 LLM보다 적은 컴퓨팅 및 환경 리소스를 사용합니다. 그러나 정제된 모델의 예측은 일반적으로 원래 LLM의 예측만큼 좋지 않습니다. 매개변수가 더 많은 LLM은 거의 항상 매개변수가 더 적은 LLM보다 더 나은 예측을 생성합니다.

프롬프트 엔지니어링

프롬프트 엔지니어링을 사용하면 LLM의 최종 사용자가 모델의 출력을 맞춤설정할 수 있습니다. 즉, 최종 사용자가 LLM이 프롬프트에 응답하는 방식을 명확히 합니다.

인간은 예시를 통해 잘 학습합니다. LLM도 마찬가지입니다. LLM에 하나의 예시를 표시하는 것을 원샷 프롬프트 작성이라고 합니다. 예를 들어 모델이 다음 형식을 사용하여 과일의 가족을 출력하도록 하려면 다음을 실행합니다.

사용자가 과일 이름을 입력하면 LLM이 해당 과일의 클래스를 출력합니다.

원샷 프롬프트는 LLM에 위 형식의 단일 예시를 표시한 다음 LLM에 해당 예시를 기반으로 쿼리를 완료하도록 요청합니다. 예를 들면 다음과 같습니다.

peach: drupe
apple: ______

한 가지 예시로 충분한 경우도 있습니다. 맞다면 LLM은 유용한 예측을 출력합니다 예를 들면 다음과 같습니다.

apple: pome

다른 경우에는 하나의 예시가 충분하지 않습니다. 즉, 사용자는 LLM에 여러 예시를 표시해야 합니다. 예를 들어 다음 프롬프트에는 두 가지 예가 포함되어 있습니다.

plum: drupe
pear: pome
lemon: ____

여러 예시를 제공하는 것을 퓨샷 프롬프팅이라고 합니다. 위의 프롬프트의 처음 두 줄은 학습 예시라고 생각할 수 있습니다.

LLM이 예시 없이 유용한 예측을 제공할 수 있나요 (제로샷 프롬프팅)? 경우에 따라 다르지만 LLM은 컨텍스트를 좋아합니다. 맥락이 없으면 다음 제로샷 프롬프트는 과일이 아닌 기술 회사에 관한 정보를 반환할 수 있습니다.

apple: _______

오프라인 추론

LLM의 매개변수 수가 너무 많아서 온라인 추론이 너무 느려 회귀나 분류와 같은 실제 작업에 적용하기에는 실용적이지 않은 경우가 있습니다. 따라서 많은 엔지니어링팀은 대신 오프라인 추론 (대량 추론 또는 정적 추론이라고도 함)을 사용합니다. 즉, 학습된 모델은 서빙 시 쿼리에 응답하는 것이 아니라 미리 예측을 수행한 다음 예측을 캐시합니다.

LLM이 작업을 일주일에 한 번 또는 한 달에 한 번만 수행하면 되는 경우 LLM이 작업을 완료하는 데 오랜 시간이 걸리는지 여부는 중요하지 않습니다.

예를 들어 Google 검색은 LLM을 사용하여 오프라인 추론을 실행하여 50개가 넘는 언어로 된 코로나19 백신의 동의어 800개가 넘는 목록을 캐시했습니다. 그런 다음 Google 검색은 캐시된 목록을 사용하여 실시간 트래픽에서 백신에 관한 검색어를 식별했습니다.

LLM을 책임감 있게 사용

모든 형태의 머신러닝과 마찬가지로 LLM은 일반적으로 다음과 같은 편향을 공유합니다.

  • 학습에 사용된 데이터
  • 데이터가 추출된 데이터입니다.

이 과정의 앞부분에서 소개한 강의에 따라 LLM을 공정하고 책임감 있게 사용합니다.

연습문제: 이해도 확인

LLM에 관한 다음 설명 중 참인 것은 무엇인가요?
추출된 LLM은 출처가 된 기반 언어 모델보다 매개변수가 적습니다.
예. 정제는 매개변수 수를 줄입니다.
미세 조정된 LLM은 학습된 기반 언어 모델보다 매개변수가 적습니다.
미세 조정된 모델에는 원래 기반 언어 모델과 동일한 수의 매개변수가 포함됩니다.
사용자가 프롬프트 엔지니어링을 많이 수행할수록 LLM의 매개변수 수가 증가합니다.
프롬프트 엔지니어링은 LLM 매개변수를 추가 (또는 삭제 또는 변경)하지 않습니다.