論文紹介「Meet ChatLLaMA: The First Open-Source Implementation of LLaMA Based on Reinforcement Learning from Human Feedback (RLHF)」

概要

LLaMAは、Meta社が公開した大規模言語モデルで、7Bから65Bのパラメータを持つ事前学習済みモデルです。数兆個のトークンでモデルを訓練しており、公開データセットのみを使用して最先端のモデルを訓練することが可能となっています。LLaMA-13BはほとんどのベンチマークでGPT-3(175B)を上回り、LLaMA-65Bは最高モデルであるChinchilla-70BやPaLM-540Bと競合しています。ChatGPTと比較すると、サイズが小さいことを活かして、トレーニングプロセスやシングルGPUでの推論が大幅に高速化・低コスト化されています。また、Nebulyによって、RLHFに基づくLLaMAのオープンソースであるChatLLaMAが発表されています。

手法

大規模言語モデルに関する最近の研究に従い、Transformerに基づいています。その後に提案されたPaLMなどの異なるモデルで使用された様々な改良も取り入れています。以下に元のTransformerとの主な違いを示します。

事前正規化

GPT3の手法を取り入れたものです。学習の安定性を高めるために、出力を正規化する代わりに、各Transformerのサブレイヤーの入力を正規化します。使用する正規化関数は、RMS Norm正規化関数です。

SwiGLU活性化関数

PaLMの手法を取り入れたものです。ReLUの非線形性を、Shazeerが導入したSwiGLU活性化関数で置換し、性能を向上させました。次元は、PaLMから変更されているようです。

Rotary Embeddings

GPTNeoの手法を取り入れたものです。絶対位置埋め込みを取り除き、代わりにSu(2021)らが導入した回転位置埋め込み(RoPE)をネットワークの各層で追加しています。

モデルの学習速度の向上

Causal multi-head attention operatorの効率的な実装をしようし、メモリ使用量と計算量を削減しています。これは、Attention Weightを保存せず、言語モデリングタスクの因果関係によりマスクされるキー、クエリースコアを計算しないことで達成されています。

さらに学習効率を向上させるため、チェックポイントを用いた後方パスで推奨される活性化量を減少させ増した。より正確には、線形層の出力のような計算コストのかかる活性化を節約します。これは、PyTorchのオートグラッドに頼るのではなく、変換層の後方関数を手動で実装することで実現されています。

さらに、活性化の計算と、ネットワーク経由のGPU間通信(all_reduce演算による)も可能な限りオーバーラップさせています。65Bパラメータのモデルをトレーニングする場合、我々のコードは、2048個のA100 GPUと80GBのRAMで、約380トークン/秒/GPUを処理します。これは、1.4Tトークンを含むデータセットでのトレーニングに約21日かかることを意味します。

ファインチューニングについて

Nebulyが、ChatLLaMAのファインチューニングを可能としています。事前学習済みのLLaMAモデルに基づいてChatGPTスタイルのサービスを構築できる、完全なオープンソースの実装です。

  • オリジナルのChatGPTと比較して、LLaMAアーキテクチャのサイズが小さいことを活かして、トレーニングプロセスやシングルGPUでの推論が大幅に高速化・低コスト化されています。
  • ChatLLaMAは、微調整プロセスを高速化するために、DeepSpeed ZEROのサポートを内蔵しています。
  • また、このライブラリはすべてのLLaMAモデルアーキテクチャ(7B、13B、33B、65B)をサポートしており、学習時間や推論性能の好みに応じてモデルを微調整することができます。

Meet ChatLLaMA: The First Open-Source Implementation of LLaMA Based on Reinforcement Learning from Human Feedback (RLHF)

結果

参考文献

Meet ChatLLaMA: The First Open-Source Implementation of LLaMA Based on Reinforcement Learning from Human Feedback (RLHF)

LLaMA: Open and Efficient Foundation Language Models

コメント

タイトルとURLをコピーしました