DUICUO

Apple のオープンソースの大規模モデル OpenELM が、コード、重み、データセット、およびトレーニング プロセス全体を公開しました。

ChatGPTが大規模モデルコンペティションの時代を切り開いたとすれば、MetaのオープンソースモデルLlamaシリーズはオープンソース分野のブームを巻き起こしたと言えるでしょう。しかしながら、Appleの影響は比較的小さかったようです。

しかし、Apple の最新の論文は、オープンソース分野への同社の貢献を示しています。

Appleは最近、OpenELMをリリースしました。OpenELMは4つのバリエーション(それぞれ2億7000万、4億5000万、11億、30億のパラメータ)を備えています。これは、公開データセットに基づいて事前学習および微調整された一連のモデルです。OpenELMの中核はレイヤーごとのスケーリングにあります。つまり、OpenELMの各Transformerレイヤーは異なる構成(ヘッド数やフィードフォワードネットワークの次元など)を持ち、レイヤーごとに異なるパラメータ数を持つことで、レイヤー間のパラメータ割り当てをより効率的に実現しています。

今回、Apple がオープンソース研究を促進するために、データの準備、トレーニング、微調整、評価の手順、および複数の事前トレーニング済みチェックポイントとトレーニング ログを含む完全なフレームワークをリリースしたことは注目に値します。

  • 論文リンク: https://arxiv.org/pdf/2404.14619.pdf
  • プロジェクトアドレス: https://github.com/apple/corenet
  • 論文タイトル: OpenELM: オープンソースのトレーニングおよび推論フレームワークを備えた効率的な言語モデルファミリー

結果は、OpenELMが、公開データセットを用いて事前学習された既存のオープンソースLLMよりも優れていることを示しています(表1)。例えば、11億パラメータのOpenELMはOLMoよりも優れた性能を発揮します。

方法の紹介

OpenELMアーキテクチャ

OpenELM はデコーダーのみを備えたトランスフォーマー アーキテクチャを採用し、次の原則に従います。

(1)全結合層(線形層とも呼ばれる)では学習可能なバイアスパラメータを使用しない。

(2)RMSNormを用いて事前正規化を行い、位置情報を符号化するために回転位置埋め込み(ROPE)を用いる。

(3)マルチヘッドアテンション(MHA)の代わりにグループ化クエリアテンション(GQA)を使用する。

(4)フィードフォワードネットワーク(FFN)をSwiGLU FFNに置き換える。

(5)フラッシュアテンションを使用してスケーラブルなドット積アテンションを計算する。

(6)LLamaと同じトークナイザーを使用する。

一般的に、LLMでは各トランスフォーマー層は同じ構成を使用し、層全体にわたってパラメータの均一な分布を実現します。これらのモデルとは異なり、OpenELMでは各トランスフォーマー層が異なる構成(例:ヘッド数やフィードフォワードネットワークの次元)を持つため、層ごとにパラメータ数が異なります。これにより、OpenELMは利用可能なパラメータバジェットをより有効に活用し、より高い精度を実現できます。Appleは層ごとのスケーリングを使用することで、層全体にわたってパラメータの非均一な分布を実現しています。

レイヤーごとのスケーリング:標準的なTransformerレイヤーは、マルチヘッドアテンションネットワーク(MHA)とフィードフォワードネットワーク(FFN)で構成されています。Transformerレイヤーにおけるパラメータの不均一な分布の問題に対処するため、Appleは各Transformerレイヤーのアテンションヘッド数とFFN乗数を調整しました。

Appleはこのように実装しています。均一分布パラメータを持つ標準的なTransformerモデルがN層のTransformer層を持ち、各層への入力の次元がd_modelであると仮定します。MHAにはn_h個のヘッドがあり、それぞれの次元は であり、FFNの隠れ次元は以下のとおりです。

Appleは、各層のアテンションヘッド数(n_hとm)をそれぞれ調整するために、2つのハイパーパラメータαとβを導入しています。i番目の層では、n_hとmは以下のように計算されます。

事前トレーニングデータ

Appleは事前学習に公開データセットを使用しています。具体的には、Appleの事前学習データセットには、RefinedWeb、複製されたPILE、RedPajama、Dolma v1.6のサブセットが含まれており、合計約1兆8000億トークンに上ります(下表参照)。

トレーニングの詳細

Appleは、独自のオープンソースCoreNetライブラリ(以前はCVNetとして知られ、特にディープニューラルネットワークのトレーニングに使用)を用いてOpenELMの亜種を35万回反復してトレーニングしました。その結果、4つのOpenELM亜種(パラメータ数は2億7000万、4億5000万、11億、30億)が生成されました。

実験

本論文では、表3に示すように、ゼロショットおよび少数ショットの設定におけるOpenELMの性能を評価しています。研究者らは、OpenELMをPyThia、Cerebras-GPT、TinyLlama、OpenLM、MobiLlama、OLMoなどの公開されているLLMと比較しました。MobiLlamaとOLMoは本研究に最も関連性の高いモデルです。これらのモデルはすべて類似のデータセットで学習されており、類似またはそれ以上の事前学習済みトークンを使用しています。

図1は、7つの標準的なゼロショットタスクにおけるOpenELMの精度を、訓練反復回数とともにプロットしたものです。ほとんどのタスクにおいて、訓練期間が長くなるにつれて精度が向上することがわかります。さらに、最後の5つのチェックポイント(5000反復ごとに1回収集)を平均化することで得られた精度は、35万反復後に得られた精度と同等か、わずかに優れています。この改善は、重み平均化によってノイズが低減されたためと考えられます。そのため、研究者は表4の主要評価、表5の命令チューニング実験、および表6のパラメータ効率チューニング実験において、平均化されたチェックポイントを使用しました。

表4の結果は様々な評価フレームワークを網羅しており、OpenELMが既存手法と比較してどれほど有効であるかを示しています。例えば、12億パラメータのOLMoと比較した場合、11億パラメータのOpenELMバリアントはそれぞれ1.28%(表4a)、2.36%(表4b)、1.72%(表4c)の精度向上を達成しています。OpenELMがOLMoよりも大幅に少ない事前学習データでこれらの精度向上を達成していることは注目に値します。

図 5 に示すように、命令の微調整により、さまざまな評価フレームワークにわたって OpenELM の平均精度が一貫して 1 ~ 2% 向上します。

パラメータ効率的なファインチューニング(PEFT)の結果。研究者らは、常識推論の訓練および評価のためのセットアップを使用しました。このセットアップは、LoRAやDoRAを含む様々な手法を用いたPEFT研究のために、8つの多肢選択データセットから17万個の訓練サンプルを提供しました。研究者らはOpenELMをこれらの手法と統合し、8基のNVIDIA H100 GPUを用いて3つの訓練エポックにわたって結果モデルをファインチューニングしました。表6に示すように、PEFT手法はOpenELMに適用できます。与えられた常識推論データセットにおいて、LoRAとDoRAは同等の平均精度を達成しました。

表7aと7bは、それぞれGPUとMacBook Pro上での本研究のベンチマーク結果を示しています。OpenELMはOLMoと同数のパラメータでより高い精度を達成していますが、OLMoよりも速度が遅いです。本研究の主な焦点は推論性能ではなく再現性でしたが、研究者らは包括的な性能分析を実施し、本研究におけるボトルネックを特定しました。

分析によると、OpenELMの処理時間の大部分は、研究者によるRMSNormの単純化された実装に起因しています(表8を参照)。具体的には、この単純なRMSNormの実装では、LayerNormのような単一の融合カーネルではなく、少量の入力を処理する多くの個別のカーネルが起動されます。単純なRMSNormをApexのRMSNormに置き換えることで、研究者はOpenELMのスループットが大幅に向上することを発見しました。ただし、最適化されたLayerNormを使用したモデルと比較すると、依然として大きなパフォーマンスギャップが存在し、その理由の一部は(1)OpenELMには113層のRMSNormがあるのに対し、OLMoには33層のLayerNormがあること、および(2)ApexのRMSNormが少量の入力に対して最適化されていないことです。RMSNormによるパフォーマンスの低下をさらに説明するために、AppleはOLMoのLayerNormをRMSNormに置き換え、生成スループットの大幅な低下を観察しました。今後の研究では、研究者らは OpenELM の推論効率をさらに向上させるための最適化戦略を探求する予定です。


詳細は原論文をご覧ください。