전체 프로세스에 대한 대규모 모델 미세 조정

미세 조정 과정에서 위의 프로세스를 엄격하게 준수하여 단계를 건너뛰면 비효율적인 노동력을 초래할 수 있으므로 이를 방지하는 것이 좋습니다. 예를 들어, 데이터 세트가 적절하게 구성되지 않아 미세 조정된 모델의 효과가 좋지 않은 것이 결국 데이터 세트의 품질 문제로 밝혀진다면 사전 노력은 물거품이 되고 노력의 절반은 수포로 돌아갈 것입니다.
데이터 집합 수집 및 대조
데이터 세트의 가용성에 따라 데이터 세트는 공개적으로 사용 가능한 데이터 세트와 접근하기 어려운 데이터 세트의 두 가지 유형으로 분류할 수 있습니다.
공개적으로 사용 가능한 데이터 세트에 액세스하려면 어떻게 해야 하나요?
공개적으로 사용 가능한 데이터 세트에 액세스하는 가장 쉬운 방법은 관련 오픈 소스 플랫폼을 통해 검색하고 다운로드하는 것입니다. 예를 들어, 깃허브, 허깅 페이스, 캐글, 매직 히치 등의 플랫폼은 수많은 오픈 데이터 세트를 제공합니다. 또한 크롤러 기술을 통해 포스팅, Zhihu, 업계 수직 웹 사이트 등과 같은 일부 웹 사이트에서 데이터를 가져올 수도 있습니다. 크롤러를 사용하여 데이터를 가져오려면 일반적으로 약간의 기술 지원과 관련 법률 및 규정을 준수해야 합니다.
필요한 데이터를 네트워크에서 사용할 수 없거나 구하기 어려운 경우 어떻게 해야 하나요?
기존의 공개적으로 사용 가능한 데이터 세트가 수요를 충족시키지 못하는 경우, 데이터 세트를 직접 구축하는 방법도 있습니다. 하지만 수백에서 수천 개의 데이터 집합을 수동으로 구축하는 것은 지루하고 시간이 많이 걸리는 경우가 많습니다. 그렇다면 어떻게 하면 데이터 집합을 효율적으로 구축할 수 있을까요? 데이터 집합을 빠르게 구축하기 위한 두 가지 일반적인 아이디어가 아래에 설명되어 있습니다:
1. 빅 모델 플랫폼의 '데이터 향상' 기능 활용하기
현재 많은 빅 모델 플랫폼이 데이터 향상 기능을 제공하고 있으며, 이는 데이터 세트 확장에 효과적으로 도움을 줄 수 있습니다. 예를 들어 질량 분석 오픈 플랫폼, 쉰페이 오픈 플랫폼, 화산 오픈 플랫폼 등은 이러한 플랫폼의 강화 기능을 통해 원시 데이터를 사용하여 더 많은 샘플을 빠르게 생성할 수 있습니다. 먼저 소량의 데이터(예: 50개 항목)를 수동으로 준비하여 이러한 플랫폼에 업로드합니다. 플랫폼은 데이터 향상 기술을 통해 데이터를 확장하여 데이터 세트의 확장을 빠르게 실현합니다.

2. 대규모 모델을 사용하여 데이터 생성
데이터를 생성하는 또 다른 효율적인 방법은 빅 모델을 이용하는 것입니다. 먼저 소량의 데이터(예: 수십 개)를 준비하여 빅 모델에 예시로 제공합니다. 빅 모델은 이 예시를 기반으로 유사한 데이터 콘텐츠를 생성할 수 있습니다. 생성된 데이터의 품질을 보장하기 위해서는 1차 생성 시 한 번에 너무 많은 데이터를 생성하지 말고, 20개 정도의 데이터를 생성한 후 이를 면밀히 검토하여 빅 모델이 흔히 범할 수 있는 실수를 파악하는 것이 좋습니다. 그런 다음 이러한 오류 사례를 빅 모델에 피드백하여 생성 품질을 개선합니다.
示例Prompt: 参照以下示例,输出20个类似的“近期运气”问题。请注意,语言要生活化、不要过于夸张,避免使用诸如“在活动中”、“在比赛中”等定语或状语,语句尽量简洁,避免多余修饰。示例: 我这个季度顺利吗? 我这个季度会发财吗? 最近有哪些事情在等着我? 最近会发生什么事情? 近期我能否被幸运之神垂青?
데이터 정리 및 미세 조정 데이터 세트 구축
원시 데이터 세트는 일반적으로 모델 학습과 호환되지 않으므로 모델을 학습한 형식과 호환되도록 정리 및 처리해야 합니다. 대부분의 경우, 미세 조정된 데이터 세트는 일반적으로 AIpaca 형식을 사용하여 구축됩니다.
AIpaca 형식 소개
AIpaca 형식은 구조가 간단하여 텍스트 생성, 번역, 요약, 특히 단일 작업 중심의 지침 미세 조정과 같은 작업에 특히 적합합니다. 다음은 주요 구성 요소에 대한 자세한 설명입니다:
- 명령어: 사용자 입력(필수)과 유사한 작업 명령어로, 모델에 수행해야 할 작업을 명시적으로 알려줍니다.
- 입력: 작업에 필요한 입력입니다. 작업이 개방형이거나 명시적인 입력이 필요하지 않은 경우 일반적으로 빈 문자열일 수 있습니다.
- 출력: 명령어와 입력이 주어졌을 때 모델이 생성해야 하는 원하는 출력, 즉 참조 답변(필수)입니다.
- 시스템: 모델에 대한 사전 프롬프트로 간주할 수 있으며, 모델의 동작을 설정하는 데 사용되며, 일반적으로 모델에 대한 초기 힌트(선택 사항)를 제공합니다.
- 히스토리: 모델이 문맥 관계를 설정하는 데 도움이 되는 과거 대화 정보입니다. 다라운드 작업에서 모델은 기록 대화를 기반으로 답을 생성합니다(선택 사항).
예를 들어, AIpaca 데이터 형식은 다음과 같습니다:
[ { "instruction": "用‘梦想’、‘坚持’和‘成功’这三个词组成一个句子。", "input": "", "output": "只有坚持追逐梦想,才能最终取得成功。" }, { "instruction": "对《三国演义》做一个简短的介绍。", "input": "", "output": "《三国演义》是中国古典四大名著之一,描写了从东汉末年到西晋初年近百年的历史,讲述了东汉末年的群雄割据混战及魏、蜀、吴三国之间的政治和军事斗争,塑造了一批英雄人物。" } ]
데이터 집합 구축 방법론
미세 조정 데이터 세트를 만들려면 일반적으로 데이터를 AIpaca 형식을 따르는 JSON 파일로 변환해야 합니다. 다음은 데이터 세트를 만드는 두 가지 일반적인 방법입니다:
- 데이터 세트의 수동 구성: 필요한 데이터를 정리하고 AIpaca 형식에 따라 구성한 후 Python 코드를 작성하여 데이터 세트를 수동으로 구성할 수 있습니다. 이 방법은 간단한 시나리오와 소규모 데이터 세트에 적합합니다.
- 매크로 모델을 사용한 자동 구성: 매크로 모델 인터페이스를 호출하여 데이터 집합을 자동으로 생성합니다. 이 접근 방식은 대규모 데이터 세트, 특히 작업의 명령어와 출력 패턴이 비교적 고정되어 있는 경우에 적합합니다.
전체 데이터 세트 형식
작업의 명령, 입력, 출력, 시스템 프롬프트 단어 및 기록 대화 정보가 포함된 전체 AIpaca 형식은 아래와 같습니다:
[ { "instruction": "人类指令(必填)", "input": "人类输入(选填)", "output": "模型回答(必填)", "system": "系统提示词(选填)", "history": [ ["第一轮指令(选填)", "第一轮回答(选填)"], ["第二轮指令(选填)", "第二轮回答(选填)"] ] } ]
이 형식은 모델에 명령어 + 입력 = 질문, 출력 = 답변의 연습 문제를 주는 것과 유사하게 명령어에서 출력까지의 매핑 관계를 학습하는 데 도움이 됩니다.
기본 모델 선택
- 모델 유형 선택: 작업 요구사항에 따라 GPT, LLaMA 또는 BERT와 같은 기본 모델을 선택합니다.
- 크기 및 파라미터: 계산 리소스, 학습 시간, 추론 속도를 고려하여 모델 크기(예: 7B, 13B 또는 65B 파라미터 크기)를 결정합니다.
- 오픈 소스 모델과 상용 모델: 오픈 소스 모델(예: LLaMA, Falcon)과 상용 폐쇄 소스 모델(예: OpenAI GPT 제품군) 중에서 선택해야 할 필요성을 분석합니다.
- 테스트 데이터를 사용하여 비교 테스트를 수행하여 선택한 여러 모델 중 가장 적합한 모델을 찾습니다.
모델 매개변수에 대한 설명

영혼의 다섯 가지 질문
I. 미세 조정이란 무엇인가요?
미세 조정은 이미 사전 학습된 모델을 새로운 데이터 세트로 추가 학습시키는 프로세스입니다. 이러한 사전 학습된 모델은 일반적으로 이미 대규모 데이터 세트에 대한 풍부한 기능과 지식을 학습했으며 특정 일반 기능을 갖추고 있습니다. 미세 조정의 핵심 목표는 이러한 일반적인 지식을 새롭고 보다 구체적인 작업이나 도메인으로 마이그레이션하여 모델이 특정 문제를 더 잘 해결할 수 있도록 하는 것입니다.
II. 미세 조정이 필요한 이유
1. 컴퓨팅 리소스 절약
대규모 모델을 처음부터 훈련하려면 많은 계산 리소스와 시간이 필요하고 비용도 많이 듭니다. 미세 조정은 미리 학습된 모델을 시작점으로 사용하며 새로운 데이터 세트에 대한 학습이 덜 필요하므로 계산 비용과 시간을 크게 절감할 수 있어 좋은 결과를 얻을 수 있습니다.
2. 모델 성능 향상
사전 학습된 모델은 일반화된 기능을 갖추고 있지만 특정 작업에서는 제대로 작동하지 않을 수 있습니다. 미세 조정은 도메인별 데이터로 모델 매개변수를 조정하여 목표 작업을 보다 능숙하게 처리하도록 함으로써 정확성과 효율성을 개선합니다.
3. 새로운 영역에 적응하기
사전 학습된 일반적인 모델은 특정 도메인의 데이터 특성을 잘 이해하지 못할 수 있으며, 미세 조정을 통해 모델이 새로운 도메인에 적응하고 특정 작업에서 데이터를 더 잘 처리할 수 있도록 도울 수 있습니다.
III. 미세 조정을 통해 얻을 수 있는 것은 무엇인가요?
미세 조정을 통해 최적화되고 조정된 모델을 얻을 수 있습니다. 이 모델은 원래 사전 학습된 모델의 구조를 기반으로 하지만 새로운 작업이나 도메인 요구 사항에 더 잘 적응할 수 있도록 매개 변수가 업데이트되었습니다.
예시:
일반적인 물체를 인식하는 사전 학습된 이미지 분류 모델이 있다고 가정해 보겠습니다. 특정 유형의 꽃을 인식해야 하는 경우 다양한 꽃 이미지와 레이블이 포함된 새로운 데이터 세트를 사용하여 모델을 미세 조정할 수 있습니다. 미세 조정 후에는 모델의 매개변수가 업데이트되어 이러한 꽃 유형을 더 정확하게 인식할 수 있습니다.
IV. 미세 조정된 모델을 프로덕션에 적용하는 방법은 무엇인가요?
1. 프로덕션 환경으로 배포
웹사이트, 모바일 앱 또는 기타 시스템에 모델을 통합하려면 모델 서버 또는 TensorFlow Serving, TorchServe 또는 Hugging Face에서 제공하는 API와 같은 클라우드 서비스를 사용하여 배포할 수 있습니다.
2. 추론 작업
세밀하게 조정된 모델을 사용하여 주어진 입력을 예측하거나 결과를 분석하는 등의 추론에 사용하세요.
3. 지속적인 업데이트 및 최적화
새로운 요구 사항이나 피드백에 따라 모델을 더욱 세밀하게 조정하거나 최적의 모델 성능을 유지하기 위해 학습에 더 많은 데이터를 추가합니다.
V. 미세 조정 방법은 어떻게 선택하나요?
- LoRA: 리소스가 제한된 환경에서 미세 조정된 매개변수의 크기를 줄이기 위한 로우랭크 적응입니다.
- QLoRA: 대규모 모델 미세 조정을 보다 효율적으로 처리하기 위한 LoRA 기반 정량적 최적화.
- P-튜닝: 소규모 샘플 작업이나 소량의 레이블이 지정된 데이터에 적합한 큐 학습 기법입니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...