원본 텍스트:
https://ai.meta.com/blog/adapting-large-language-models-llms/
https://ai.meta.com/blog/when-to-fine-tune-llms-vs-other-techniques/
https://ai.meta.com/blog/how-to-fine-tune-llms-peft-dataset-curation/
이 글은 오픈 소스 대규모 언어 모델(LLM)을 적용하는 방법에 대한 3부작 블로그 게시물 시리즈의 첫 번째 글입니다. 이 글에서는 도메인 데이터에 LLM을 적용하는 데 사용할 수 있는 다양한 방법에 대해 알아봅니다.
소개
다양한 언어 작업 및 자연어 처리(NLP)를 위한 대규모 언어 모델(LLM) 벤치마킹이러한 '일반' 모델을 기반으로 하는 제품 사용 사례가 증가하고 있습니다. 이러한 '일반' 모델을 기반으로 하는 제품 사용 사례가 점점 늘어나고 있습니다. 이 블로그 게시물에서는 LLM을 프로젝트에 적용하고 통합하고자 하는 소규모 AI 제품 팀을 위한 지침을 제공합니다. 먼저 LLM과 관련된 (종종 혼란스러운) 용어를 명확히 정의한 다음, 사용 가능한 다양한 적응 방식을 간략하게 비교하고 마지막으로 사용 사례에 적합한 접근 방식을 결정하는 단계별 순서도를 추천해 드리겠습니다.
LLM 적응 방법
사전 교육
사전 교육은 수조 개의 데이터를 사용합니다. 토큰 LLM을 처음부터 학습시키는 과정입니다. 모델은 자기 지도 알고리즘을 사용하여 학습됩니다. 가장 일반적으로, 학습은 자동 회귀를 통해 다음을 예측합니다. 토큰 (일명 인과적 언어 모델링)을 수행해야 합니다. 사전 학습에는 일반적으로 수천 개의 GPU 시간(105~107 [...])이 필요합니다.source1, source2])는 여러 GPU에 분산되어 있습니다. 사전 학습된 출력 모델을 기본 모델.
지속적인 사전 교육
지속적인 사전 학습(2단계 사전 학습이라고도 함)에는 보이지 않는 새로운 도메인 데이터를 사용하여 기본 모델을 추가로 학습하는 작업이 포함됩니다. 초기 사전 학습과 동일한 자가 지도 알고리즘이 사용됩니다. 일반적으로 모든 모델 가중치를 적용하고 원본 데이터의 일부를 새 데이터와 혼합하는 작업이 포함됩니다.
미세 조정
미세 조정은 주석이 달린 데이터 세트를 사용하여 감독된 방식으로 또는 강화 학습 기반 기술을 사용하여 사전 학습된 언어 모델을 조정하는 프로세스입니다. 사전 학습과 비교하면 크게 두 가지 차이점이 있습니다:
- 주석이 달린 데이터 세트에 대한 지도 학습 - 올바른 레이블/답안/환경 설정이 포함된 - 자가 지도 학습이 아닌 지도 학습
- 사전 훈련에 필요한 수십억 또는 수조 개의 토큰이 아닌 수천 또는 수백만 개의 토큰이 필요하며, 명령 추종, 인간 정렬, 작업 수행 등을 향상시키는 것이 주요 목표입니다.
현재 미세 조정 그리드를 이해하는 데는 두 가지 차원이 있습니다. 변경된 매개변수의 비율과 미세 조정의 결과로 추가된 새로운 기능입니다.
변경된 매개변수의 비율
변경되는 매개변수 수에 따라 두 가지 유형의 알고리즘이 있습니다:
- 완전히 미세 조정되었습니다: 이름에서 알 수 있듯이 여기에는 XLMR 및 BERT (1 억 ~ 3 억 개의 매개 변수)와 같은 소규모 모델의 전통적인 미세 조정을 포함하여 모델의 모든 매개 변수를 변경하는 작업이 포함됩니다. 라마 2GPT3(10억 개 이상의 매개변수)와 같은 대규모 모델의 미세 조정.
- 매개변수 효율적 미세 조정(PEFT): 모든 LLM 가중치를 미세 조정하는 것과 달리 PEFT 알고리즘은 소수의 추가 파라미터만 미세 조정하거나 사전 학습 파라미터의 하위 집합(일반적으로 전체 파라미터의 1~6%)을 업데이트합니다.
기본 모델에 추가할 수 있는 기능
미세 조정을 수행하는 목적은 사전 학습된 모델에 명령어 준수, 사람 정렬 등의 기능을 추가하는 것입니다. 대화 튜닝용 라마 2는 명령어 준수 및 정렬 기능을 추가할 수 있는 미세 조정 모델입니다. 일반적인 예.
검색 강화 세대(RAG)
조직은 도메인별 지식 베이스를 추가하여 LLM에 적응할 수도 있습니다.RAG는 본질적으로 "검색 기반 LLM 텍스트 생성"입니다.2020년에 출시될 RAG는 사용자의 질문을 기반으로 검색된 동적 큐잉 컨텍스트를 사용하고 LLM 힌트를 주입하여 사전 학습된 - 그리고 잠재적으로 오래된 - 지식 대신 검색된 콘텐츠를 사용하도록 안내합니다.RAG는 또한 조직에서 LLM에 적응하기 위해 사용할 수 있는 도구입니다. -지식.채팅 랭체인 은 RAG 기반 LangChain 문서 Q&A 챗봇의 인기 있는 예시입니다.
상황별 학습(ICL)
ICL에서는 프롬프트에 프로토타입 예제를 배치하는 방식으로 LLM을 적용했으며, 여러 연구에 따르면 '예시를 통한 데모'가 효과적이라는 사실이 밝혀졌습니다. 이러한 예시에는 다양한 유형의 정보가 포함될 수 있습니다:
프롬프트를 수정하는 다른 다양한 전략이 있습니다.팁 엔지니어링 가이드포괄적인 개요가 포함되어 있습니다.
올바른 적응 방법 선택
위의 방법 중 어떤 방법이 특정 애플리케이션에 적합한지 결정하려면 수행하려는 작업에 필요한 모델 기능, 학습 비용, 추론 비용, 데이터 세트의 유형 등 다양한 요소를 고려해야 합니다. 아래 순서도에는 적합한 대규모 언어 모델(LLM) 적응 방법을 선택하는 데 도움이 되는 권장 사항이 요약되어 있습니다.
❌ 사전 교육
사전 훈련은 손실 함수로 토큰 예측 변형을 사용하는 LLM 훈련의 중요한 부분입니다. 자체 감독 특성상 대량의 데이터에 대한 학습이 가능합니다. 예를 들어, 라마 2는 2조 개의 토큰으로 훈련되었습니다. 이를 위해서는 대규모 계산 인프라가 필요합니다: Llama 2 70억 달러 비용 1,720,320 GPU 시간. 따라서 리소스가 제한된 팀의 경우 사전 교육은 LLM 적응을 위한 실행 가능한 방법으로 권장하지 않습니다.
사전 학습은 계산에 많은 시간이 소요되므로 이미 사전 학습된 모델의 가중치를 업데이트하는 것이 특정 작업에 맞게 LLM을 조정하는 효과적인 방법일 수 있습니다. 사전 학습된 모델 가중치를 업데이트하는 모든 접근 방식은 모델이 이전에 학습한 기술과 지식을 잊어버리는 현상을 설명하는 데 사용되는 용어인 치명적 망각 현상의 영향을 받기 쉽습니다. 예를 들어이 연구에 따르면 의료 영역에서 미세 조정된 모델은 교육 후속 및 일반적인 질문과 답변 작업에서 성능이 저하되는 것으로 나타났습니다. 다른 연구에서도 사전 교육을 통해 얻은 일반적인 지식이 후속 교육 중에 잊혀질 수 있다는 사실이 밝혀졌습니다. 예를 들어이 연구도메인 지식, 추론 및 독해의 관점에서 LLM 지식 망각의 몇 가지 증거가 제공됩니다.
지속적인 사전 교육 ❌ 지속적인 사전 교육
치명적인 망각을 고려할 때, 최근의 발전은 지속적인 사전 훈련(CPT)이 사전 훈련에 필요한 계산 비용의 일부로 성능을 더욱 향상시킬 수 있음을 시사합니다. CPT는 학습자가 새로운 변환 기술을 습득해야 하는 작업에 유용할 수 있습니다. 예를 들어보고된 바에 따르면...지속적인 사전 교육을 통해 다국어를 성공적으로 추가할 수 있었습니다.
그러나 CPT는 여전히 상당한 데이터와 컴퓨팅 리소스를 필요로 하는 고비용 프로세스입니다. 예를 들어, Pythia 제품군은 두 번째 단계의 사전 학습을 거쳤습니다. 핀피시아-6.9B이 모델은 금융 데이터용으로 설계되었습니다. 금융 데이터를 위해 특별히 설계된 이 모델은 240억 개의 토큰이 포함된 데이터 세트를 사용하여 18일간 CPT를 거쳤습니다. 또한 CPT는 치명적인 망각이 발생하기 쉽습니다. 따라서 리소스가 제한된 팀에게는 지속적인 사전 교육을 LLM 적응을 위한 실행 가능한 접근 방식으로 권장하지 않습니다.
결론적으로, 사전 학습 및 지속적인 사전 학습에서와 같이 자체 감독 알고리즘과 레이블이 없는 데이터 세트를 사용하여 LLM을 적용하는 것은 리소스 집약적이고 비용이 많이 들기 때문에 실행 가능한 접근 방식으로 권장되지 않습니다.
✅ 전체 미세 조정 및 파라메트릭 효율 미세 조정(PEFT)
라벨이 지정된 작은 데이터 세트로 미세 조정하는 것이 라벨이 지정되지 않은 데이터 세트로 사전 학습하는 것보다 더 비용 효율적인 접근 방식입니다. 사전 학습된 모델을 특정 작업에 적용함으로써 미세 조정된 모델은 다양한 애플리케이션과 전문 분야(예: 법률, 의료 또는 금융)에서 최첨단 결과를 얻을 수 있는 것으로 나타났습니다.
미세 조정, 특히 파라미터 효율적 미세 조정(PEFT)은 사전 학습/지속적 사전 학습에 필요한 컴퓨팅 리소스의 일부만 필요로 합니다. 따라서 리소스가 제한된 팀에서 실행 가능한 LLM 적응 방법입니다. 이 시리즈에서는파트 3여기에서는 전체 미세 조정, PEFT 및 미세 조정 방법에 대한 실용적인 가이드를 포함하여 미세 조정에 대한 자세한 내용을 살펴봅니다.
✅ 증강 세대 검색(RAG)
RAG는 또 다른 인기 있는 LLM 적응 방법입니다. 애플리케이션이 동적 지식창고(예: 퀴즈 봇)에서 정보를 추출해야 하는 경우 RAG가 좋은 솔루션이 될 수 있습니다. RAG 기반 시스템의 복잡성은 주로 검색 엔진의 구현에 있습니다. 이러한 시스템의 추론 비용은 힌트에 검색된 문서가 포함되고 대부분의 제공업체가 토큰 기반 모델을 사용하기 때문에 더 높을 수 있습니다. 이 시리즈에서는파트 2에서는 RAG에 대해 더 폭넓게 논의하고 미세 조정과 비교합니다.
✅ 상황별 학습(ICL)
LLM.ICL은 추가 학습 데이터나 계산 리소스가 필요하지 않으므로 가장 비용 효율적인 접근 방식입니다. 그러나 RAG와 마찬가지로 추론 시 더 많은 토큰을 처리하기 때문에 추론 비용과 지연 시간이 증가할 수 있습니다.
요약
LLM 기반 시스템을 만드는 것은 반복적인 과정입니다. 간단한 접근 방식으로 시작하여 목표에 도달할 때까지 점차 복잡성을 높이는 것이 좋습니다. 위의 순서도는 이러한 반복적인 프로세스를 간략하게 설명하며 LLM 적응 전략을 위한 견고한 토대를 제공합니다.
감사 메모
이 블로그 게시물의 구성과 준비에 건설적인 피드백을 제공해 주신 Suraj Subramanian과 Varun Vontimitta에게 감사의 말씀을 전합니다.
2부: 미세 조정하기 또는 미세 조정하지 않기
이 글은 오픈 소스 대규모 언어 모델(LLM)을 적용하는 방법에 대한 블로그 게시물 시리즈 중 두 번째 글입니다. 이 게시물에서는 "언제 미세 조정하고 언제 다른 기술을 고려해야 할까요?"라는 질문에 대해 논의할 것입니다.
소개
대규모 언어 모델이 등장하기 전에는 소규모 모델(1억~3억 개의 매개변수)에 미세 조정이 일반적으로 사용되었습니다. 가장 진보된 도메인 애플리케이션은 사전 학습된 모델을 자체 도메인 및 다운스트림 작업의 주석이 달린 데이터를 사용하여 추가로 학습하는 감독형 미세 조정(SFT)을 사용하여 구축되었습니다. 그러나 대규모 모델(10억 개 이상의 매개변수)이 등장하면서 미세 조정 문제는 더욱 미묘해졌습니다. 가장 중요한 것은 모델이 커질수록 미세 조정을 위해 더 많은 리소스와 상용 하드웨어가 필요하다는 점입니다. 아래 표 1은 세 가지 시나리오에서 라마 2 7B 및 라마 2 13B 모델의 미세 조정을 위한 최대 GPU 메모리 사용량 목록입니다. 다음과 같은 모델은 QLoRA 이러한 알고리즘을 사용하면 제한된 리소스를 사용하여 대규모 모델을 보다 쉽게 미세 조정할 수 있습니다. 예를 들어 표 1은 Llama 2 7B에서 세 가지 미세 조정 시나리오(전체 미세 조정, LoRA 및 QLoRA)에 대한 피크 GPU 메모리를 보여줍니다. 파라메트릭 효율적 미세 조정(PEFT) 또는 양자화의 결과로 인한 유사한 메모리 감소가 Llama 1에서도 나타납니다. 보고 오버. 컴퓨팅 리소스 외에도 치명적인 망각(자세한 내용은 다음 시리즈를 참조하세요. 파트 I)는 전체 매개변수 미세 조정의 일반적인 함정입니다. PEFT 기법은 적은 수의 매개변수를 학습시켜 이러한 단점을 해결하는 것을 목표로 합니다.
표 1: 다양한 미세 조정 방법에 따른 LLama 2 7B의 메모리(GB)(출처(정보 등)QLoRA는 4비트 노멀플로트를 사용하여 정량화됩니다.
미세 조정을 통해 이점을 얻을 수 있는 프로토타입
미세 조정을 통해 이점을 얻을 수 있는 일반적인 사용 사례로 다음 시나리오를 확인했습니다:
- 톤, 스타일 및 형식 사용자 지정: 사용 사례에는 특정 성격을 반영하거나 특정 대상에게 서비스를 제공하는 빅 언어 모델이 필요할 수 있습니다. 사용자 지정 데이터 세트를 사용하여 빅 언어 모델을 미세 조정함으로써 챗봇의 응답을 특정 요구 사항이나 대상의 의도된 경험에 더 가깝게 맞출 수 있습니다. 또한 특정 방식(예: JSON, YAML 또는 Markdown 형식)으로 출력을 구조화할 수도 있습니다.
- 정확도를 높이고 엣지 케이스에 대처하세요: 미세 조정은 큐 엔지니어링 및 상황별 학습을 통해 수정하기 어려운 착각이나 오류를 수정하는 데 사용할 수 있습니다. 또한 단서로 표현하기 어려운 새로운 기술이나 작업을 수행하는 모델의 능력을 향상시킬 수 있습니다. 이 프로세스는 모델이 복잡한 단서를 따라가지 못하는 실패를 수정하고 원하는 결과물을 생성하는 데 있어 신뢰성을 향상시키는 데 도움이 될 수 있습니다. 두 가지 예를 제공합니다:
- 금융 데이터의 감정 분석에 대한 Phi-2의 정확도 34%에서 85%로 업그레이드되었습니다..
- ChatGPT Reddit 댓글 감정 분석의 정확도 25% 포인트 증가 (48%에서 73%로) 100개의 예제만 사용했습니다.
일반적으로 초기 정확도 수치가 작은 경우(50% 미만)에는 수백 개의 예제를 사용하여 미세 조정하면 상당한 개선 효과를 얻을 수 있습니다.
- 과소 대표되는 영역을 해결하세요: 빅 언어 모델은 대량의 범용 데이터로 학습되지만, 각 틈새 도메인의 미묘한 전문 용어, 용어 또는 고유한 특성에 대해 항상 정통하지는 않을 수 있습니다. 법률, 의료 또는 금융과 같은 다양한 도메인의 경우, 미세 조정을 통해 다운스트림 작업의 정확도를 향상시킬 수 있는 것으로 나타났습니다. 두 가지 예를 제공합니다:
- 비용 절감: 미세 조정을 통해 Llama 2 70B/GPT-4와 같은 대형 모델에서 기술을 추출하여 품질 저하 없이 비용과 지연 시간을 줄이면서 Llama 2 7B와 같은 소형 모델에 적용할 수 있습니다. 또한 미세 조정을 통해 큐 엔지니어링에 사용되는 것과 같이 길거나 특정 큐의 필요성을 줄여 토큰을 절약하고 비용을 더욱 절감할 수 있습니다. 예를 들어이 문서 더 비싼 GPT-4 모델을 개선하여 GPT-3.5 판독기를 미세 조정함으로써 비용을 절감할 수 있는 방법을 보여줍니다.
- 새로운 작업/기능: 종종 미세 조정을 통해 새로운 기능을 구현할 수 있습니다. 세 가지 예를 제공합니다:
- 대규모 언어 모델을 다음과 같이 미세 조정합니다. 특정 검색자의 컨텍스트 활용도 향상 아니면 아예 무시하세요.
- 대규모 언어 모델 미세 조정 다른 대규모 언어 모델을 평가하는 심사위원새로운 시스템의 경우 진실성, 규정 준수 또는 유용성과 같은 지표를 평가하는 것은 당연한 일이 아닙니다.
- 대규모 언어 모델을 다음과 같이 미세 조정합니다. 컨텍스트 추가 창
다른 영역의 적응 기술과의 비교
미세 조정 대 상황별(적은 샘플) 학습
상황별 학습(ICL)은 대규모 언어 모델을 기반으로 시스템의 성능을 개선할 수 있는 강력한 방법입니다. 단순성을 고려할 때 미세 조정 작업을 수행하기 전에 ICL을 사용해 보는 것이 좋습니다. 또한 ICL 실험을 통해 미세 조정이 다운스트림 작업의 성능을 향상시키는지 평가하는 데 도움이 될 수 있습니다. ICL을 사용할 때 일반적으로 고려해야 할 사항은 다음과 같습니다:
- 표시할 예시 수가 증가하면 추론 비용과 지연 시간도 증가합니다.
- 점점 더 많은 예제를 통해 빅 언어 모델 종종 간과되는 몇 가지 사항은 다음과 같습니다.. 즉, 입력에 따라 가장 관련성이 높은 예시를 찾아주는 RAG 기반 시스템이 필요할 수 있습니다.
- 대규모 언어 모델은 예제로 제공된 지식을 뱉어낼 수 있습니다. 이 문제는 미세 조정 시에도 존재합니다.
미세 조정 vs. 및 RAG
일반적인 합의는 대규모 언어 모델의 기본 성능이 만족스럽지 않은 경우 "RAG로 시작하여 성능을 평가하고 불충분하다고 판단되면 미세 조정으로 이동"하거나 미세 조정에 비해 "RAG가 장점이 있을 수 있다"는 것입니다(출처(정보 등)). 그러나 많은 경우 RAG는 미세 조정의 대안이 아니라 미세 조정을 보완하는 접근 방식에 가깝기 때문에 이 패러다임은 지나치게 단순화되었다고 생각합니다. 문제의 특성에 따라 한 가지 또는 두 가지 접근 방식을 모두 시도해야 합니다. 사용 이 문서 프레임워크에서 미세 조정 또는 RAG(또는 둘 다 가능)가 문제에 적합한지 판단하기 위한 몇 가지 질문이 있습니다:
- 애플리케이션에 외부 지식이 필요한가요? 미세 조정은 일반적으로 새로운 지식을 주입하는 데 적용되지 않습니다.
- 앱에 사용자 지정 어조/동작/어휘 또는 스타일이 필요하신가요? 이러한 유형의 요구 사항의 경우 일반적으로 미세 조정이 올바른 접근 방식입니다.
- 애플리케이션은 환각에 얼마나 관대한가요? 허위 사실과 상상 속 조작을 억제하는 것이 중요한 애플리케이션의 경우, RAG 시스템은 환각을 최소화하는 메커니즘을 내장하고 있습니다.
- 얼마나 많은 레이블이 지정된 학습 데이터를 사용할 수 있나요?
- 데이터가 얼마나 정적/동적인가요? 문제에 동적 데이터 코퍼스에 대한 액세스가 필요한 경우, 빅 언어 모델에 대한 지식이 매우 빠르게 구식이 되기 때문에 미세 조정이 올바른 접근 방식이 아닐 수 있습니다.
- 대규모 언어 모델링 애플리케이션에 얼마나 많은 투명성/해석성이 필요한가요? RAG는 기본적으로 대규모 언어 모델링 결과물을 해석하는 데 유용한 참조를 제공할 수 있습니다.
- 비용 및 복잡성: 검색 시스템 구축에 대한 전문 지식이 있거나 미세 조정 경험이 있는 팀인가요?
- 앱의 작업은 얼마나 다양하나요?
대부분의 경우, 미세 조정과 RAG의 하이브리드 솔루션이 최상의 결과를 가져올 것이며, 문제는 두 가지를 동시에 수행할 때 발생하는 비용, 시간 및 추가적인 독립형 이득이 될 것입니다. 위의 질문을 참조하여 RAG 및/또는 미세 조정이 필요한지 여부를 결정하고, 오류를 분석하여 내부 실험을 수행하여 가능한 지표 개선 효과를 파악하세요. 마지막으로, 미세 조정을 탐색하려면 강력한 데이터 수집 및 데이터 개선 전략이 필요하며, 이는 미세 조정을 시작하기 위한 전제 조건으로 권장합니다.
감사 메모
이 블로그 게시물의 구성과 준비에 건설적인 피드백을 제공해 주신 Suraj Subramanian과 Varun Vontimitta에게 감사의 말씀을 전합니다.
3부: 미세 조정 방법: 효과적인 데이터 집합에 집중하기
이 글은 오픈 소스 대규모 언어 모델(LLM)을 적용하는 방법에 대한 블로그 시리즈의 세 번째 글입니다. 이 글에서는 양질의 학습 데이터셋을 구성하기 위한 몇 가지 경험 법칙을 살펴봅니다.
소개
LLM을 미세 조정하는 것은 예술과 과학의 결합이며, 이 분야의 모범 사례가 계속 등장하고 있습니다. 이 블로그 게시물에서는 미세 조정의 설계 변수에 초점을 맞추고 리소스가 제한된 환경에서 모델을 미세 조정하는 모범 사례에 대한 방향성을 제시합니다. 실험을 미세 조정하기 위한 전략을 개발하기 위한 출발점으로 다음 정보를 제안합니다.
전체 미세 조정과 파라메트릭 효율적 미세 조정(PEFT) 비교
모든 미세 조정 및 PEFT의 전체 금액 아카데미 노래로 응답 실제 적용 이들 모두는 새로운 도메인에 적용할 때 다운스트림 성능을 향상시키는 것으로 나타났습니다. 이 중 하나를 선택하는 것은 궁극적으로 사용 가능한 계산 리소스(GPU 시간 및 GPU 메모리), 대상 다운스트림 작업 이외의 작업에서의 성능(학습-망각 트레이드오프), 수동 주석 비용에 따라 달라집니다.
전체 볼륨 미세 조정은 두 가지 문제가 발생할 가능성이 높습니다:모델 충돌 노래로 응답 대격변적 망각. 모델 붕괴는 모델 출력이 유한한 출력 집합으로 수렴하고 원래 콘텐츠 분포의 꼬리가 사라지는 것을 말합니다. 이 시리즈에서와 같은 치명적인 망각 파트 I 에 대해 논의하면 모델이 힘을 잃을 수 있습니다. 일부 초기 경험적 연구에 따르면PEFT 기법에 비해 전체 볼륨 미세 조정 기법은 다음과 같은 문제가 발생하기 쉽습니다.더 많은 연구가 필요하긴 하지만요.
PEFT 기법은 미세 조정을 위한 자연스러운 정규화 역할을 하도록 설계할 수 있으며, 일반적으로 다운스트림 모델을 훈련하는 데 상대적으로 적은 컴퓨팅 리소스가 필요하고 데이터 세트 크기가 제한된 리소스 제약 시나리오에서 더 쉽게 사용할 수 있습니다. 경우에 따라 전체 미세 조정은 특정 작업에서 더 나은 성능을 발휘하지만, 일반적으로 원래 모델의 일부 기능을 잊어버리는 대가를 치르게 됩니다. 특정 다운스트림 작업의 성능과 다른 작업의 성능 사이의 이러한 '잊어버리기 학습' 트레이드오프는 다음과 같은 경우에 더 쉽게 악용됩니다. 이 문서. LoRA와 전체 미세 조정에 대한 심층적인 비교는 여기에서 확인할 수 있습니다.
리소스 제약을 고려할 때 PEFT 기법은 전체 미세 조정보다 성능 개선/비용 비율이 더 우수할 수 있습니다. 리소스가 제한된 상황에서 다운스트림 성능이 중요한 경우에는 전체 볼륨 미세 조정이 가장 효과적입니다. 두 경우 모두 고품질 데이터 세트를 만들려면 다음과 같은 핵심 원칙을 염두에 두는 것이 중요합니다.
데이터 집합 데이터 정렬
문헌의 미세 조정 실험에서 데이터 세트는 미세 조정의 이점을 누리기 위해 매우 중요합니다. 여기에는 단순히 "더 나은 품질과 더 많은 예제"보다 더 많은 뉘앙스가 있으며, 데이터 세트 수집에 현명하게 투자하여 리소스가 제한된 미세 조정 실험에서 성능을 개선할 수 있습니다.
데이터 품질/양
- 품질은 매우 중요합니다: 데이터의 양보다는 질이 더 중요하다는 것이 일반적인 추세입니다. 즉, 품질이 낮은 데이터를 대량으로 보유하는 것보다 고품질의 데이터를 소량으로 보유하는 것이 더 낫다는 것입니다. 품질의 핵심 원칙은 일관된 라벨링, 오류 없음, 잘못 라벨링된 데이터, 잡음이 있는 입력/출력, 전체 대비 대표성 있는 분포입니다. 데이터를 미세 조정할 때LIMA 데이터 세트 신중하게 선별된 수천 개의 예시 중 50,000개의 기계 생성 알파카 데이터 세트보다 더 나은 성능을 보였습니다.OpenAI 미세 조정 문서 50~100개의 예시로 구성된 데이터 세트도 영향을 미칠 수 있다고 합니다.
- 어려운 언어 작업일수록 더 많은 데이터가 필요합니다: 텍스트 생성 및 요약과 같이 상대적으로 어려운 작업은 분류 및 엔티티 추출과 같은 간단한 작업보다 미세 조정이 더 어렵고 더 많은 데이터가 필요합니다. "여기서 '더 어렵다'는 것은 출력물에 더 많은 토큰, 고차원적인 인간의 능력 필요, 여러 개의 정답 등 다양한 의미를 내포할 수 있습니다.
- 효과적이고 고품질의 데이터 수집: 데이터 수집 비용이 높기 때문에 샘플 효율성을 개선하고 비용을 절감하기 위해 다음과 같은 전략을 권장합니다.
- 실패 패턴 관찰: 실패한 이전 ML 기능의 사례를 관찰하고 이러한 실패 패턴을 해결하는 예제를 추가합니다.
- 인간과 기계의 협업: 데이터 주석을 더 저렴하게 확장할 수 있는 방법입니다. 인간 어노테이터가 더 짧은 시간에 주석을 달 수 있는 기본 응답 생성을 자동화하기 위해 LLM을 사용합니다.
데이터 다양성
간단히 말해, 특정 유형의 응답으로 모델을 과도하게 학습시키면 가장 적절한 답변은 아니더라도 해당 응답을 제공하는 쪽으로 편향될 수 있습니다. 여기서 경험 법칙은 가능한 한 훈련 데이터가 실제 세계에서 모델이 어떻게 작동해야 하는지를 반영하도록 하는 것입니다.
- 반복합니다: 에 의해 거부되었습니다. 발견 는 미세 조정 및 사전 학습에서 모델 성능 저하의 원인입니다. 중복 제거를 통해 다양성을 확보하면 일반적으로 성능 지표가 향상됩니다.
- 입력 다양성: 입력을 의역하여 다양성을 높입니다. 에서 SQLCoder2 미세 조정 팀은 구문 및 의미의 다양성을 도입하기 위해 SQL 쿼리에 수반되는 일반 텍스트를 재구성했습니다. 마찬가지로지침 역번역 는 수동으로 작성된 텍스트에 "어떤 질문에 대한 답변이 될 수 있을까요?"라고 질문하는 방식으로 사용되었습니다. 를 사용하여 질문과 답변 데이터 세트를 생성했습니다.
- 데이터 세트 다양성: 보다 일반적인 다운스트림 작업(예: 다국어 적응)을 위해 미세 조정할 때 다양한 데이터 세트를 사용하면 모델의 원래 기능을 잊어버리는 것과 새로운 기능을 학습하는 것 사이의 균형을 개선할 수 있는 것으로 나타났습니다. 다음과 같은 다양한 언어 타겟팅 힌디어(언어) 노래로 응답 오스트로네시아어(언어) 미세 조정 모델은 풍부한 언어별 데이터 세트와 다음과 같은 기타 명령 미세 조정 데이터 세트를 사용합니다. FLAN및알파카, 돌리 등 다양성을 소개합니다.
- 표준화된 출력: 출력에서 공백을 제거하고 기타 서식 지정 요령이 도움이 되는 것으로 입증되었습니다.SQLCoder2 생성된 SQL에서 공백을 제거하면 모델이 공백이나 들여쓰기와 같은 요령보다는 중요한 SQL 개념을 학습하는 데 집중할 수 있습니다. 답변에서 특정 어조를 원한다면." 헬프데스크 챗봇은..." 를 생성한 다음 각 예제에 대한 데이터 세트에 추가합니다.
LLM 기반 데이터 파이프라인
고품질의 다양한 데이터 세트를 대조하기 위해 데이터 파이프라인은 종종 LLM을 사용해 주석 비용을 절감합니다. 실제로 다음과 같은 기법이 관찰되었습니다:
- 평가: 고품질 데이터 세트로 모델을 훈련하고 이를 사용하여 더 큰 데이터 세트에 주석을 달아 고품질 예시를 필터링하세요.
- 생성: 고품질 예제로 LLM에 씨를 뿌리고 유사한 고품질 예제를 생성하라는 메시지를 표시합니다.합성 데이터 집합을 위한 모범 사례 가 구체화되기 시작했습니다.
- 인간과 컴퓨터의 협업: LLM을 사용하여 초기 출력 세트를 생성하고 사람이 환경설정을 편집하거나 선택하여 품질을 개선할 수 있습니다.
데이터 집합 디버깅
- 데이터 세트에 잘못된 출력이 있는지 평가합니다: 모델의 특정 영역에서 여전히 실적이 저조한 경우 해당 영역을 올바르게 처리하는 방법을 모델에 직접 보여주는 학습 예제를 추가하세요. 모델에 구문, 논리 또는 스타일 문제가 있는 경우 데이터에 동일한 문제가 있는지 확인하세요. 예를 들어, 현재 모델이 "내가 이 회의를 예약할게요"라고 말하는 경우(그러면 안 되는데도) 기존 예제에서 모델이 실제로는 할 수 없는 새로운 일을 할 수 있다고 가르치고 있는지 확인하세요.
- 긍정/부정 카테고리의 균형을 다시 확인하세요: 데이터의 60% 헬퍼 응답에 "해당 질문에 대답할 수 없습니다"라고 되어 있는데 추론할 때 5% 응답만 그렇게 말하면 너무 많은 거부가 발생할 수 있습니다.
- 포괄성과 일관성: 훈련 예제에 응답에 필요한 모든 정보가 포함되어 있는지 확인하세요. 모델이 사용자의 개인적 특성에 따라 사용자를 칭찬하도록 하려는 경우 훈련 예제에 이전 대화에 나타나지 않은 특성에 대한 어시스턴트의 칭찬이 포함되어 있으면 모델이 정보를 위조하는 방법을 배울 수 있습니다. 추론할 때 모든 훈련 예가 예상과 동일한 형식인지 확인하세요. 훈련 예제의 일관성을 확인하세요. 여러 사람이 훈련 데이터를 만든 경우, 사람 간 일관성 수준에 따라 모델 성능이 제한될 수 있습니다. 예를 들어, 텍스트 추출 작업에서 사람들이 70%의 추출된 세그먼트에 대해서만 동의하면 모델이 더 나은 성능을 발휘하지 못할 수 있습니다.
평결에 도달하기
미세 조정은 예술과 과학 사이의 섬세한 균형이 필요한 대규모 언어 모델 개발의 핵심 요소입니다. 데이터 세트의 품질과 큐레이션은 미세 조정의 성공에 중요한 역할을 합니다.대규모 언어의 소규모 미세 조정 모델은 특정 작업에서 대규모 모델보다 우수한 성능을 발휘하는 경향이 있습니다.. 미세 조정하기로 결정한 후에는 라마 미세 조정 가이드 는 탄탄한 출발점을 제공합니다. 미세 조정된 데이터 세트 포트폴리오의 독점적인 특성으로 인해 모범 사례의 공유와 오픈 소스 발전이 저해되어 왔습니다. 이 분야가 계속 발전함에 따라, 미세 조정의 창의성과 적응성을 유지하면서 공통된 모범 사례가 등장할 것으로 예상합니다.
감사 메모
이 블로그 게시물의 구성과 준비에 건설적인 피드백을 제공해 주신 Suraj Subramanian과 Varun Vontimitta에게 감사의 말씀을 전합니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...