ChatGPT, GPT4로 대표되는 AI 애플리케이션과 대형 모델은 전 세계적으로 큰 인기를 끌며 새로운 기술 산업 혁명과 AGI(Artificial General Intelligence)의 새로운 출발점을 여는 것으로 평가받고 있습니다. 기술 대기업들이 서로를 쫓아다니며 신제품 출시 경쟁을 벌이고 있을 뿐만 아니라, 학계와 업계의 많은 AI 거물들도 관련 창업 물결에 투자하고 있습니다. 생성적 AI는 "수일" 내에 빠르게 반복되고 있으며 계속해서 급증하고 있습니다!
그러나 OpenAI는 이를 오픈 소스로 만들지 않았습니다. 그 뒤에 숨겨진 기술적 세부 사항은 무엇입니까? 이 기술 물결을 빠르게 따르고, 따라잡고, 참여하는 방법은 무엇입니까? 대규모 AI 모델을 구축하고 적용하는 데 드는 높은 비용을 줄이는 방법은 무엇입니까? 타사 대형 모델 API 사용으로 인한 핵심 데이터 및 지적 재산 유출을 어떻게 방지할 수 있나요?
가장 인기 있는 오픈 소스 AI 대형 모델 솔루션인 Colossal-AI는 감독 데이터 세트 수집 -> 감독 미세 조정 -> 보상 모델 훈련 -> 강화를 포함하는 완전한 RLHF 프로세스 구축에 앞장섰습니다. 미세 조정 학습 LLaMA를 사전 훈련된 모델로 사용하여 ColossalChat을 출시했습니다. 는 현재 ChatGPT의 원래 기술 솔루션에 가장 가까운 실용적인 오픈 소스 프로젝트입니다!
소스 주소 : https://github.com/hpcaitech/colossalai
다음 내용을 포함합니다. 온라인 모델 효과, 등록이나 대기자 명단 필요 없음
2. 교육 코드: 7B 및 13B 모델을 포함하도록 오픈 소스로 제공되는 완전한 오픈 소스 RLHF 교육 코드
3. 세트: 오픈 소스 104K 중간, 영어 이중 언어 데이터 세트
4.추론 배포: 4비트 정량적 추론 70억 매개변수 모델에는 4GB의 비디오 메모리만 필요합니다.
5.단일 서버에서 적은 양의 컴퓨팅 성능만으로도 빠르게 재현 가능6. 대규모 모델, 데이터 세트, 기타 최적화 등이 빠른 속도로 반복적으로 추가됩니다
저렴함 모델 및 강력한 기능ColossalChat에는 100억 개 미만의 매개변수만 필요하며 대규모 언어에서도 가능합니다. 모델을 기반으로 RLHF를 미세 조정하면 중국어 및 영어 이중 언어 기술을 마스터하고 ChatGPT 및 GPT-3.5와 유사한 효과를 얻을 수 있습니다. .
예: 상식적인 질문과 답변:
중국어 답변:
이메일 쓰기:
쓰기 알고리즘:
전체 ChatGPT 복제 솔루션
ChatGPT 및 GPT-4와 같은 GPT 시리즈 모델은 매우 강력하지만 완전한 오픈 소스일 가능성은 낮습니다. 다행스럽게도 오픈소스 커뮤니티는 계속해서 열심히 일하고 있습니다. ㅋㅋㅋ 하지만 미세 조정(튜닝 지시)을 지시하지 않았기 때문에 실제 발전 효과는 이상적이지 않았습니다.
Stanford의 Alpaca는 OpenAI API를 호출하여 자체 지시 방식으로 훈련 데이터를 생성하므로 매개변수가 70억 개에 불과한 경량 모델을 매우 저렴한 비용으로 미세 조정하여 다음과 같은 수천억 개의 매개변수를 얻을 수 있습니다. GPT-3.5 매우 대규모 언어 모델의 대화 효과.
하지만기존 오픈 소스 솔루션은 후속 정렬 및 미세 조정 작업 없이 RLHF(인간 피드백 강화 학습)에서 지도 미세 조정 모델의 첫 번째 단계만 획득한 것으로 간주할 수 있습니다. 동시에 Alpaca의 훈련 데이터 세트가 너무 작고 말뭉치가 영어로만 되어 있어 모델 성능이 어느 정도 제한됩니다.
그리고 ChatGPT 및 GPT-4의 놀라운 효과는 훈련 과정에 RLHF를 도입하여 생성된 콘텐츠를 인간의 가치와 더욱 일관되게 만드는 데 있습니다.
3단계 RLHF
LLaMA 모델을 기반으로 하는 Colossal-AI는 완전한 RLHF 프로세스를 포함하는 최초의 오픈 소스 Chat 같은 모델 재현 솔루션입니다. 현재 ChatGPT의 원래 기술 경로에 가장 가까운 실용적인 오픈 소스 프로젝트입니다!
ColossalChat은 약 100,000개의 질문과 답변이 포함된 중국어 및 영어 이중 언어 데이터 세트를 오픈 소스로 제공했습니다. 이 데이터 세트는 소셜 플랫폼에서 사람들의 실제 질문 시나리오를 시드 데이터 세트로 수집하고 정리하며, 자체 학습 기술을 사용하여 데이터를 확장하고 주석 비용은 약 $900입니다. 다른 자가 학습 방법으로 생성된 데이터 세트와 비교할 때 이 데이터 세트의 시드 데이터는 더 현실적이고 풍부하며 생성된 데이터 세트는 더 많은 주제를 다루고 있습니다. 이 데이터는 미세 조정 및 RLHF 훈련 모두에 사용될 수 있습니다. ColossalChat은 고품질 데이터를 통해 더 나은 대화 상호 작용을 수행하고 중국어를 지원할 수 있습니다.
ColossalChat 데이터 세트 수집 프로세스
RLHF 알고리즘 재현
RLHF-Stage1은 위에서 언급한 데이터 세트를 사용하여 지도 조정됩니다. -조정하다 모델 .
RLHF-Stage2는 동일한 프롬프트의 다양한 출력을 수동으로 정렬하여 해당 점수를 얻고 보상 모델의 교육을 감독합니다.
RLHF-Stage3은 훈련 과정에서 가장 복잡한 부분인 강화 학습 알고리즘을 사용합니다.
RLHF-Stage3 알고리즘 흐름도
PPO 부분에서, ColossalChat은 두 단계로 나누어집니다. 첫 번째는 SFT, Actor, RM 및 Critic 모델을 사용하여 Experience를 계산 및 생성하고 이를 버퍼에 저장하는 Make Experience 부분입니다. 경험을 활용하여 전략 손실과 가치 손실을 계산하는 부분입니다.
PTX 부분에서 ColossalChat은 배우 출력 응답의 교차 엔트로피 손실 함수와 입력 코퍼스의 답변 부분을 계산합니다. 이는 원래 성능을 유지하기 위해 PPO 기울기에 사전 훈련 기울기를 추가하는 데 사용됩니다. 언어 모델을 이해하고 망각을 방지합니다. 마지막으로 역전파 및 매개변수 업데이트를 위해 전략 손실, 가치 손실 및 PTX 손실이 합산됩니다.
빨리 시작하세요
ColossalChat은 LLaMA 모델을 기반으로 ChatGPT 교육의 3단계를 재현하기 위한 전체 코드를 오픈 소스로 공개했습니다.
첫 번째 단계, SFT 모델 훈련:
# Training with a 4-GPU servers colossalai run --nproc_per_node=4 train_sft.py --pretrain "/path/to/LLaMa-7B/" --model 'llama' --strategy colossalai_zero2 --log_interval 10 --save_path/path/to/Coati-7B --dataset /path/to/data.json --batch_size 4 --accimulation_steps 8 --lr 2e-5
두 번째 단계, 보상 모델 훈련:
# Training with a 4-GPU servers colossalai run --nproc_per_node=4 train_reward_model.py --pretrain "/path/to/LLaMa-7B/" --model 'llama' --strategy colossalai_zero2 --dataset /path/to/datasets
세 번째 단계, RL 훈련 사용:
# Training with a 8-GPU servers colossalai run --nproc_per_node=8 train_prompts.py prompts.csv --strategy colossalai_zero2 --pretrain "/path/to/Coati-7B" --model 'llama' --pretrain_dataset /path/to/dataset
최종 모델을 얻은 후 가중치, 추론 하드웨어 비용도 정량화를 통해 줄일 수 있으며, 온라인 추론 서비스를 시작할 수 있습니다. 비디오 메모리가 약 4GB인 단일 GPU만으로 70억 개의 매개변수 모델 추론 서비스 배포를 완료할 수 있습니다.
python server.py/path/to/pretrained --quant 4bit --gptq_checkpoint /path/to/coati-7b-4bit-128g.pt --gptq_group_size 128
ColossalChat 能够快速跟进 ChatGPT 完整 RLHF 流程复现,离不开 AI 大模型基础设施 Colossal-AI 及相关优化技术的底座支持,相同条件下训练速度相比 Alpaca 采用的 FSDP (Fully Sharded Data Parallel) 可提升三倍左右。
系统基础设施 Colossal-AI
AI 大模型开发系统 Colossal-AI 为该方案提供了基础支持,它可基于 PyTorch 高效快速部署 AI 大模型训练和推理,从而降低 AI 大模型应用的成本。Colossal-AI 由加州伯克利大学杰出教授 James Demmel 和新加坡国立大学校长青年教授尤洋领导开发。自从它开源以来,Colossal-AI 已经多次在 GitHub 热榜位列世界第一,获得 GitHub Star 约两万颗,并成功入选 SC、AAAI、PPoPP、CVPR、ISC 等国际 AI 与 HPC 顶级会议的官方教程。
减少内存冗余的 ZeRO + Gemini
Colossal-AI 支持使用无冗余优化器 (ZeRO) 提高内存使用效率,低成本容纳更大模型,同时不影响计算粒度和通信效率。自动 Chunk 机制可以进一步提升 ZeRO 的性能,提高内存使用效率,减少通信次数并避免内存碎片。异构内存空间管理器 Gemini 支持将优化器状态从 GPU 显存卸载到 CPU 内存或硬盘空间,以突破 GPU 显存容量限制,扩展可训练模型的规模,降低 AI 大模型应用成本。
使用 LoRA 低成本微调
Colossal-AI 支持使用低秩矩阵微调(LoRA)方法,对 AI 大模型进行低成本微调。LoRA 方法认为大语言模型是过参数化的,而在微调时,参数改变量是一个低秩矩阵。因此,可以将这个矩阵分解为两个更小的矩阵的乘积。在微调过程中,大模型的参数被固定,只有低秩矩阵参数被调整,从而显著减小了训练所需的参数量,并降低成本。
低成本量化推理
GPTQ 量化
为降低推理部署成本,Colossal-AI 使用 GPTQ 4bit 量化推理。在 GPT/OPT/BLOOM 类模型上,它比传统的 RTN (rount-to-nearest) 量化技术能够获得更好的 Perplexity 效果。相比常见的 FP16 推理,它可将显存消耗降低 75%,只损失极少量的吞吐速度与 Perplexity 性能。
以 ColossalChat-7B 为例,在使用 4bit 量化推理时,70 亿参数模型仅需大约 4GB 显存即可完成短序列(生成长度为 128 )推理,在普通消费级显卡上即可完成(例如 RTX 3060 Laptop),仅需一行代码即可使用。
if args.quant == '4bit': model = load_quant (args.pretrained, args.gptq_checkpoint, 4, args.gptq_group_size)
如果采用高效的异步卸载技术 (offload),还可以进一步降低显存要求,使用更低成本的硬件推理更大的模型。
1. ColossalChat 开源了第一个完整的RLHF pipeline,斯坦福Alpaca没有做 RLHF,也就是没有做 Stage 2 和 Stage 3。
2. ColossalChat 采用了更多的指令数据,质量更好,范围更大,并使用强化学习做alignment 使回答更接近人类。
3. ColossalChat 훈련 프로세스는 Colossal-AI의 다양한 시스템 최적화를 통합합니다. 동일한 데이터 세트와 모델 크기의 훈련 속도는 Alpaca보다 약 3배 빠릅니다. 중소기업도 자체 세션 시스템을 독립적으로 교육하고 배포할 수 있습니다.
4. ColossalChat 팀은 훈련용으로 영어로 된 총 2,400만 개의 토큰, 중국어로 된 약 3,000만 개의 토큰, 총 약 5,400만 개의 토큰 등 더 많은 데이터 세트를 직접 수집했습니다. 그중 ColossalChat 자체에서 수집한 데이터 세트는 영어로 600만 개, 중국어로 1,800만 개의 토큰입니다.
다음은 언어 대화에서 ColossalChat과 알파카의 일부 성능입니다(위는 ColossalChat, 아래는 알파카).
Write Quicksort in Python:
추천서를 요청하려면 교수에게 이메일을 작성하세요.
다행히도 과거와 달리 대규모 AI 모델과 첨단 기술은 소수의 거대 기술 기업들만이 독점하고 있었으며 PyTorch, Hugging Face, OpenAI와 같은 스타트업도 핵심적인 역할을 했습니다. 이번 웨이브에서의 역할. Colossal-AI는 오픈 소스 커뮤니티의 성공적인 경험을 바탕으로 모든 당사자가 공동 구축에 참여하고 대형 모델 시대를 맞이하는 것을 환영합니다!
다음 방법으로 연락하거나 참여할 수 있습니다.
1. GitHub에 문제를 게시하거나 PR(풀 요청)을 제출하세요.
2. Colossal-AI 사용자 WeChat 또는 Slack 그룹에 가입하세요. communications
3 . 이메일 youy@comp.nus.edu.sg
로 정식 협력 제안을 보내주세요. 오픈 소스 주소:
https://github.com/hpcaitech/ColossalAI
위 내용은 0-임계값 복제 솔루션이 업그레이드되었으며, 오픈 소스 모델이 완전히 재현되었으며, 온라인 체험을 위해 등록이 필요하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!