ChatGPT や GPT4 に代表される AI アプリケーションと大規模モデルは世界中で普及しており、新たな技術産業革命と AGI (汎用人工知能) の新たな出発点を切り開くものと見なされています。 。テクノロジーの巨人が互いに追いかけ、新製品の発売を競っているだけでなく、学界や産業界の多くのAI大物も、関連する起業家精神にあふれた波に投資している。生成 AI は「数日」で急速に反復され、急増し続けています。
しかし、OpenAI はそれをオープンソースにしていません。その背後にある技術的な詳細は何ですか?このテクノロジーの波に素早く追いつき、追いつき、参加するにはどうすればよいでしょうか?大規模な AI モデルの構築と適用にかかる高額なコストを削減するにはどうすればよいでしょうか?サードパーティの大規模モデル API の使用によるコア データと知的財産の漏洩をどのように保護するか?
最も人気のあるオープンソース AI 大規模モデル ソリューションとして、Colossal-AI は 教師付きデータセットの収集 -> 教師付き細かい-チューニング -> 報酬モデル トレーニング -> 強化学習の完全な RLHF プロセス微調整 は、LLaMA 事前トレーニング モデルに基づいて、ColossalChat を開始しました。 は現在、最も近い実用的なオープンソース プロジェクトですChatGPTの独自の技術ソリューションに!
オープンソース アドレス: https://github.com/hpcaitech/ColossalAI
次のコンテンツが含まれます:
1. デモ: 登録や待機リストなしでオンラインでモデルの効果を直接体験できます
2. トレーニング コード: オープンソースの完全な RLHF トレーニング コード (7B および 13B モデルを含むようにオープンソース化されています)
3. データセット: オープンソースの 104K 中国語と英語のバイリンガル データ セット
4. 推論展開: 4 ビット定量的推論 70 億パラメータ モデルには 4GB のビデオ メモリのみが必要です
5. モデルの重み: 単一マシンのみサーバーは、少量のコンピューティング能力で迅速に再現できます
6. 大規模なモデル、データセット、その他の最適化などにより、高いパフォーマンスが維持されます。追加するための反復の高速化
ColossalChat は 100 億未満のパラメータのみを必要とし、大規模な言語モデルに基づいて RLHF 微調整を実行します中国語と英語のバイリンガル能力を習得し、ChatGPT や GPT-3.5 Effect と同様のレベルに達します。
#例: 常識的な質問と回答:
中国語の回答:
メールを書く:
#アルゴリズムを書く:
完全な ChatGPT クローン作成ソリューション
ChatGPT や GPT-4 などの GPT シリーズ モデルは非常に強力ですが、完全にオープン ソースになる可能性は低いです。幸いなことに、オープンソース コミュニティは引き続き熱心に取り組んでいます。たとえば、Meta は LLaMA モデルをオープンソース化しました。このモデルのパラメータ数は 70 億から 650 億の範囲です。130 億のパラメータは 1,750 億の GPT-3 モデルを上回る可能性があります。ほとんどの場合、ベンチマークのパフォーマンス。ただし、ファインチューニング(チューニング指示)を指示していないため、実際の発電効果は理想的なものではありませんでした。
スタンフォードの Alpaca は、OpenAI API を呼び出して自己指示方式でトレーニング データを生成するため、パラメータが 70 億しかない軽量モデルを非常に低コストで微調整できます。対話効果は、GPT-3.5 のような数千億のパラメータを持つ超大規模言語モデルの効果に匹敵します。
#しかし #既存のオープンソース ソリューションは、ヒューマン フィードバックによる強化学習 (RLHF) の最初のステップのみを取得する教師あり微調整モデルと見なすことができます (RLHF)# #、その後の調整と微調整作業は実行されていません。同時に、Alpaca のトレーニング データセットは小さすぎ、コーパスは英語のみであるため、モデルのパフォーマンスもある程度制限されます。 ChatGPT と GPT-4 の驚くべき効果は、トレーニング プロセスに RLHF を導入し、生成されたコンテンツが人間の価値観とより一致するようになることです。 RLHF の 3 つの段階 LLaMA モデルに基づく Colossal-AI は、完全な RLHF プロセスを含む初のオープンソースのチャットのようなモデル再現ソリューション ColossalChat です。現在、 元の技術に最も近いものです。 ChatGPT の実践的なオープンソース プロジェクトのルート! トレーニング データ セットのオープン ソース
ColossalChat データセット収集プロセス ##RLHF アルゴリズムの再現 RLHF-Stage1 は教師ありフィンチューニングです。つまり、モデルの微調整に上記のデータ セットを使用します。 RLHF-Stage2 は、報酬モデルをトレーニングしました。同じプロンプトのさまざまな出力を手動で並べ替えて、対応するスコアを取得し、報酬モデルのトレーニングを監視しました。 RLHF-Stage3 は強化学習アルゴリズムを使用します。これはトレーニング プロセスの最も複雑な部分です: RLHF-Stage3 アルゴリズム フローチャート PPO 部分では、ColossalChat は 2 つのステージに分かれています。最初のステージは Makeエクスペリエンス部分では、SFT、アクター、RM、クリティック モデルの計算によってエクスペリエンスが生成され、バッファーに保存されます。その後、パラメーター更新部分で、エクスペリエンスが戦略損失と価値損失の計算に使用されます。 PTX 部分では、ColossalChat はアクターの出力応答と入力コーパスの応答部分のクロスエントロピー損失関数を計算します。これは、事前トレーニング勾配を追加するために使用されます。元の言語モデルを維持するための PPO 勾配 パフォーマンスにより忘れが防止されます。最後に、バックプロパゲーションとパラメータ更新のために、戦略損失、値損失、および PTX 損失が合計されます。 すぐに始めましょう ColossalChat は、ChatGPT のトレーニングの 3 段階を再現するための完全なコードをオープンソース化しました。 LLaMAモデル。 第 1 段階、SFT モデルのトレーニング: ColossalChat は、約 100,000 の質問と回答を含む中国語と英語のバイリンガル データ セットをオープンソース化しました。このデータセットは、ソーシャルプラットフォーム上の人々の実際の質問シナリオをシードデータセットとして収集してクリーンアップし、自己指示テクノロジーを使用してデータを拡張し、アノテーションの費用は約900ドルです。他の自己指示メソッドによって生成されたデータ セットと比較して、このデータ セットのシード データはより現実的で豊富であり、生成されたデータ セットはより多くのトピックをカバーします。このデータは、微調整と RLHF トレーニングの両方に使用できます。高品質のデータを通じて、ColossalChat はより優れた会話対話を実行し、中国語をサポートできます。
# 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
第 2 段階、報酬モデルのトレーニング:
# 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 トレーニングを使用する第 3 段階:
# 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
最終モデルの重みを取得した後、定量化を通じて推論ハードウェアのコストを削減し、オンライン推論を開始することもできます。約 4 GB のビデオ メモリを備えた 1 つの 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 の約 1 倍で、科学研究者や中小企業が独自の会話システムを独自にトレーニングして展開できるようになります。
4. ColossalChat チームはさらに多くのデータ セットを自ら収集しました: トレーニング用に英語で合計 2,400 万のトークン、中国語で約 3,000 万のトークン、そして合計で約5,400万トークン。このうち、ColossalChat 自体が収集したデータセットは英語で 600 万、中国語で 1,800 万のトークンです。以下は、言語対話における ColossalChat と Alpaca のパフォーマンスの一部です (上が ColossalChat、下が Alpaca)。
#Python でクイックソートを作成する:
## 作成する推薦状をリクエストする教授へのメール:
オープンコラボレーションRLHF はさらに導入されましたがデータセットが限られているため、一部のシナリオでは実際のパフォーマンスに改善の余地がまだあります。
幸いなことに、以前とは異なり、大規模な AI モデルと最先端のテクノロジーは、少数のテクノロジー巨人によってのみ独占されていました。 PyTorch、Hugging Face、OpenAI は密接な関係にあり、スタートアップ企業もこの波で重要な役割を果たしています。 Colossal-AI は、オープンソース コミュニティの成功体験を活用して、すべての関係者が共同構築に参加し、大規模モデルの時代を受け入れることを歓迎します。
次の方法で連絡または参加できます:
1. GitHub に問題を投稿するか、プル リクエスト (PR) を送信します
2. Colossal-AI ユーザー WeChat または Slack グループに参加してコミュニケーションを図ります
3. 正式な協力提案を電子メール youy@comp に送信します.nus.edu.sg
オープンソース アドレス:
https://github.com/hpcaitech/ColossalAI
以上が0 しきい値のクローン作成ソリューションがアップグレードされ、オープン ソース モデルが完全に再現され、オンライン エクスペリエンスに登録は必要ありません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。