あなたのLLMは既に未来を知っている(Apple研究)

AI研究
この記事は約18分で読めます。

Appleが開発した革新的なAI技術について解説する動画である。従来の単一トークン予測から脱却し、既存のLLMが持つ潜在的な未来予測能力を引き出す手法を紹介している。特別な再学習を必要とせず、最小限のファインチューニングで最大500%の推論速度向上を実現する画期的なフレームワークが詳細に説明されている。マスクトークン、ゲート付きLoRA、スペキュラティブデコーディングなどの技術要素を組み合わせ、品質を犠牲にすることなく大幅な性能向上を達成する方法論が示されている。

Your LLM Already Knows The Future (by Apple)
Autoregressive language models are constrained by their inherently sequential nature, generating one token at a time. Th...

既存LLMの隠された未来予測能力

コミュニティの皆さん、こんにちは。戻ってきてくれて嬉しいわ。そう、今日はついに大型言語モデルの次トークン予測を超えて、未来を見通すことができるAIを手に入れるんや。

信じられへん話やけど、新しいAI研究があって、それが教えてくれるんは「あなたのLLMは既にトークンの未来を知ってる」ってことなんや。

ここにAppleの新しいチームがあって、彼らが言うには「あなたのLLMは未来を知ってる – UIのマルチトークン予測ポテンシャルを明らかにする」ということで、これが2025年7月16日に発表されたんや。そしてついに、ついに次トークン予測からマルチトークン予測に移行するんやで。

さて、Appleはここで魅力的な科学的主張をしてるんや。標準的な自己回帰モデルはトークンごとの生成のため遅いんやけど、それでも次のトークンだけやなくて、はるかに先の未来のトークンについての潜在的で未開拓な知識を既に持ってるっていうんや。

そして研究者らは今、AIのための新しいフレームワークを提案してるんや。でも美しいのは、新しいモデルを事前学習する必要がないってことなんや。既存のLLMを使えるし、既存の事前学習済みLLMのこの隠されたポテンシャルを解放する新しい方法論があるんや。

そしてAppleは言うてる「私たちは新しい最小限のファインチューニングを開発した。これによってモデルが単一のフォワードパスでテキストの塊全体を予測できるようになり、推論速度が劇的に加速される」ってな。

そしてAppleは言うてる「回答の品質を犠牲にすることなく、スピードアップはコードと数学では500%、チャットでは250%に達する」やて。想像してみいや、より強力なノートパソコンやPCを買う必要がない。500%や、既存の事前学習済みモデルに少しファインチューニングするだけでな。

これを試してみよう。何が起こったか理解しようとしてみるわ。

Appleの信頼性と技術の可能性

そして多くの人が言うかもしれへん「でもAppleやろ、Siriを見てみいや」ってな。わいのSiri、少なくともここヨーロッパでは、過去5年か10年で追加の知的能力を何も開発してへんわ。何もや。ゼロや。だからApple、Appleを信頼すべきなんか?

でもな、これは我々のアプリケーションの運営コストを劇的に削減できるかもしれへん。リアルタイムでの高スループット500%を可能にし、小さなガジェットでもレスポンシブなAIアシスタントを実現できるやろう。

だからこう言おう。Appleやっていうのは分かってるけど、シリコンバレーのドーナツに座って、自分らのAIを開発することを許されてない何千人もの科学研究者を想像してみいや。

彼らにはアイデアがあるんやから、なぜ彼らにチャンスを与えへんのや。じゃあ今始めよう。

美しいのは、わいが前回の動画で見せたような何十億パラメータのLLMをゼロから再訓練することやないってことなんや。いや、Appleは非常にエレガントなファインチューニングレシピを考えた。それは元のモデルの強力な能力を保持しながら、次のトークンを生成する新しい速い方法を教えるんや。

これは本当にシステムを拡張しながら、OpenAIやGrokなど、好きなものの元の設計を尊重するマスタークラスやな。

じゃあAIの未来を見てみよう。Appleは簡単な実験をしたんや。正直、これを見てや。彼らは言った「プロンプトがある。2+2は何や?」って。簡単すぎるやろ、なあ。

そして彼らはただプロンプトにいくつかのプレースホルダートークンを付け加えて、それらのプレースホルダートークンに対する最初のステップでのモデルの予測を調べたんや。それらのトークンでの出力は何になるやろうか?

そして最初のトークンの出力ロジットを見ると、ニューラルネットワークの隠れ表現で、当然「2」という単語が高くランクされて、2番目のものでは「+」が高くランクされた、って具合にな。

だから完全に正しいシーケンス「2+2=4」が実際に隠れ層内のこれらの未来の位置に対する上位200のロジット予測内で見つかったんや。

今あなたは言うやろう「見つけたけど、それは上位200内やった」って。その通りや。そして今のアイデアは、それを上位200から上位1の位置に持ってくることなんや。意外と簡単やったわ。

中心的な発見とマスクトークン手法

見てみよう。だから中心的な発見は、LLMが単一のフォワードポーズで、単一の次のトークンだけやなくて、確率の高い未来のシーケンスについての豊富な情報を含む隠れ状態を計算するってことなんや。これはどれほど美しいことやろうか?

さて、我々には正確に5つの追加アイデアが必要なんや。そしてAppleは何が必要かを示してくれた。マスク情報定式化が必要や。ゲート付きローランク適応が必要や。特定のサンプラーが必要や。わいが見せるが、これは単純にMLPやで。二次スペキュラティブデコーディングアルゴリズムと、Appleが潜在整合性損失と呼ぶ新しい損失関数が必要で、これは絶対に理解しやすくてシンプルなんや。

どこから始めると思う?じゃあ未来を見てみよう。

未来は我々のLLMのロジットの中にあるんや。覚えてるやろう、これを訓練せなあかん。いや、モデルがあるんや。うまくいけばオープンソースや。だから全ての重みと全てにアクセスできるんや。

そして今、トークンを使ったアドオン訓練のファインチューニングをするだけでええんや。最小限の再訓練でマルチトークン生成を可能にするために、彼らは特別なトークンを導入したんや。そう、マスクと呼ばれるものやな。

わいは既に5年前にBERTとsentence transformerでこれを見せたことがあるで。トークンのシーケンスがあって、アイデアは、k個のユニークなマスクトークンをシーケンスの最後に曲げて、マスクトークンを持つ拡張シーケンスを形成することなんや。マスクトークンの表現はランダムベクトルとして生成され、埋め込みテーブルに追加される。そして標準的な次トークン予測をNTP(次トークン予測)と呼び、マスクトークンの予測をMTPグリッドって呼ぶんや。

だから我々がすることは、入力があって、今2つの追加トークンを追加したい。そして視覚化では、マスクトークンM1とM2が全ての入力に追加されてるのが見えるやろ。だからNTPとMTPトークンがあり、青色になってる。マスクトークンは黄色や。これは簡単でシンプルやな。

もちろん訓練をせなあかん。

拡張シーケンスの処理と新しいサンプラーヘッド

じゃあ何をするか?今、覚えてるやろう。まず拡張シーケンスから始めよう。拡張シーケンスが今我々のデコーダーに供給されるんや。いや、ネットワークは潜在表現Z1からZNを生成するんや。そしてこれがあるんや。そう、美しいわ。そしてそれらはNTPトークンの青いトークンに対して生成されるんや。

そしてもちろん、マスクトークンがあるから、MTPトークンに対してはセットn+1からセットn+kもあるんや。これは黄色や。いつものように標準手順やな。トークンを追加しただけで、2つのクラスのトークンに対する潜在表現を生成したんや。これについて特別なことは何もない。

今、ナイスなアイデアが来るで。

そして今、これにサンプラーヘッドを追加するんや。なぜか?最初のNTPトークンは標準的なアンエンベディングレイヤーを使って古典的に自己回帰的に生成されるんや。素晴らしいわ。でも残りのMTPトークンには、それらを生成するのにもう少し複雑さがあるんや。それらは今、サンプラーモデルによって順次生成される。そして既に生成されたNTPトークンとの複雑さと関係を追加したんや。

だから対応する隠れ状態のセットn+1からyn+1だけを予測するのやなくて、サンプラーは今、前にサンプリングされたトークンyn+1の予測も条件とするんや。だからサンプラーは新しいマスクトークンを生成するだけやなくて、線形シーケンスで既に生成されたNTPトークンを考慮に入れるんや。

もちろんシーケンス内に線形依存性があるわ。今サンプラーモデルがすることは、マルチトークン生成ステップ内で高速な再帰依存チェーンを作成し、出力シーケンスが線形シーケンスで首尾一貫することを保証することなんや。最も簡単なケースでは、Appleは2層MLPブロック(多層パーセプトロンブロック)をサンプラーモジュールとして機能させることを見せてくれてる。これは訓練可能で、何年も知ってるシンプルなモジュールや。特別なことは何もない。

ゲート付きLoRAメカニズム

でも今、今Appleによる別のアイデアが来るで。彼らは言うてる「ちょっと待てや。我々はLoRAを知ってる」ってな。

2年前、わいはここのチャンネルでLoRAについて十数本の動画を作ったんや。そして今彼らは言うてる「LoRAがあるけど、今LoRAで、NTPトークンとMTPトークンを分離するんや」ってな。そしてMTPトークンだけがゲート付きLoRAメカニズムを得るんや。

ローランク適応の行列乗算や。これは絶対に意味があるで。ファインチューニングを可能にするために、事前学習されたモデルの動作を保持したいんや。だからこれは、既に優秀なモデルかもしれへんから、NTPトークンのパフォーマンスをそのままにしておきたいってことなんや。

だからデコーダー層をゲート付きLoRAモジュールで拡張するだけで、ファインチューニング演習中はそれらのLoRAパラメータとサンプラーヘッドパラメータだけが更新され、元のデコーダーの重みは凍結されたままなんや。これは理に適ってる。未来のトークンを抽出したいだけで、次のトークン予測は素晴らしいから、それには触れへん。

だからこのゲート付きLoRAモジュールは今、NTPとMTPトークンに対して異なる機能パスを適用することで、ファインチューニングがNTPトークンの動作に影響しないことを保証するんや。古典的なLoRAで、特別なことは何もないけど、巧妙な方法で実装してるんや。

分かるやろう、通常ファインチューニングでは、古典的なリスク要因として破滅的忘却があるんや。知識を上書きしてしまうんや。いや、今MTPトークンで、マスクマルチトークンで単一の次のトークン予測を上書きしたくないんや。だから破滅的忘却に対抗するメカニズムを見つけなあかん。そしてMTPパスのみのゲート付きローワーがこの問題を解決する。なぜなら、モデルの標準的な自己回帰パフォーマンスが劣化しないことを保証するからで、これは他のファインチューニング方法に対する大きな利点なんや。

だからAppleがゲート付きローワー適用に対して選択的パスだけを持つことの巧妙な方法やな。

マルチトークン予測とスペキュラティブデコーディング

さて、マルチトークンの予測に来よう。今、AppleはLLMが一度の実行でK個、K1、2、3、4、多分8個の未来のトークンのかたまりを提案できると言うてるんや。でもそれらは正しいんか?つまり、それらは元の未修正LLMが古典的な1つずつのトークン予測で生成したであろう同じトークンなんか?

この条件が有効であることを確認するために、AppleはスペキュラティブデコーディングOptiミzationを導入したんや。

ナイスや。これを見てみよう。だから単純にやると何が起こるかってことなんや。いや、各生成ステップでk+1個のトークンを生成するんや。ナイーブな方法は今、間違った出力につながる可能性があるんや。だからこれを修正せなあかん。特にKが4、5、6、7トークンより長いシーケンスがある場合、間違った出力を得るんや。

じゃあどうするか?予測された未来のトークンが有効かどうかを検証するだけでええんや。特に単一ステップで生成されたK+1個のトークンが、標準的な自己回帰ステップ、つまり次のトークン予測でK+1回実行した場合にモデルが生成したであろうものと一致するかどうかを。簡単なアイデアやから、これをしてみよう。

だからスペキュラティブデコーディングシステムでこれをするんや。研究者らはこれについて考えて、これを行う方法が多かれ少なかれ2つあると言ったんや。最初のここは線形デコーディング停止で、ステップtがあって、次にステップt+1があって、今トークンの検証をするだけなんや。問題ない。

それらの線形チェーンがある場合、例えば1つの検証されたトークンが失敗すると、残りの投機的トークンの完全な残りチェーンは有効でないか破棄されるんや。だからこれは我々が言う「これは1つのアイデアやけど、実際には役に立たへん」ってことなんや。検証がどこかの時点で失敗した場合、完全なシーケンスが失われるんは嫌やわ。

素晴らしいけど、これは我々には機能しない。だからAppleは二次デコーディングを思いついたんや。でも注意や、二次は君が思ってる用語ではないんや。これはもっと堅牢なアプローチなんや。だからこれはK=8の新しい投機的トークンがすべてのステップで生成されることを保証する新しい方法論なんや。そして鍵は今、マスクトークンを前のステップからの投機的トークンとインターリーブすることなんや。

だから内部参照を持つ小さなステップを作るんや。ここに単純な公式がある。t+1での次の生成ステップの入力は今、この順序で構築されるんや。だから常にインターリーブされたマスクトークンを持ってることが見えるやろう。このアプローチが我々にもたらすものを見てみよう。

だからここでも検証がどこかで失敗したとしても、モデルは後続のマスクを処理し、その時点から新しいK個の特定のトークンセットを生成するんや。

だから単一のトークン予測で失敗があっても、失われることはないんや。次のシーケンスは消えへん。まだ新しいK個の投機的トークンセットの生成プロセスにあるんや。そしてこれは完全なデコーディングプロセスをはるかに堅牢にし、高い一貫性と受け入れ率を保証するんや。そして二次デコーディングという名前は、拡張入力でのマスクから単純に来てるんや。

新しい損失関数と品質保持

今Appleは言うた「システムのパフォーマンスをさらに改善できる。新しい損失関数を導入すればシステムのパフォーマンスを向上させることができる」ってな。そして彼らはこれを潜在整合性マッチング損失LCMと呼んだんや。

ここで最も重要な用語はもちろんマッチング損失やな。なぜなら我々が達成したいことは、考えてみいや、目標はマスクトークン予測のM隠れ状態を、同じトークンの標準的な次のトークン予測の隠れ状態にできるだけ近づけることを奨励することなんや。我々は言うんや、ほぼ同一のトークンを持ちたいけど、今すぐ欲しいし、1つ以上欲しいってな。

だから今欲しいものがあれば、できるだけ近づけることなんや。だから我々が達成できる違いを見るだけや。いや。だから非常にシンプルな公式で、ここにZサブtがある。これはアンカーで、標準的な自己回帰のものからの隠れ状態なんや。

このベクトルは計算グラフから切り離されてる。だから勾配を受け取らへん。そして我々のsはセットサブtの関数で、これはZサブtに対応すべきマスク予測からの隠れ状態のセットや。「2+2は何か」での4番目のマスクとマスク構造の隠れ状態やな。違いを取って最適化をするだけや。シンプルやな。

もし望むなら、これを蒸留の行為、自己蒸留として考えることができるんや。なぜならこれは多かれ少なかれMTPパス波に元のNTPパスウェイの動作を完璧に模倣する方法を教えることやからな。そう、もちろん、我々は差をできるだけ小さくするか無視できるものにしたい。これは投機的デコーディングでのそれらのトークン生成において、より高い受け入れ率につながるんや。

我々の問題に対するこの特定の解決策を見つける何とシンプルでエレガントな解決策やろうか。我々はマスクトークン予測のためのモデルの隠れ状態を、標準的な次のトークン予測の隠れ状態にできるだけ近づけたいんやからな。素晴らしいわ。

実験結果とパフォーマンス分析

さて、結果について話そう。パフォーマンスについて話そう。君のマスクと、わいが聞くのは、彼らが訓練したトランスフォーマーモデルは何やったかってことや?それはLlamaで、特定のデータセットで教師あり微調整版を持ってたんや。そしてこのデータセットはTulu 3データセットで、数学的コーディング、一般的な会話、安全ベンチマークを含む幅広いタスクをカバーしてる。Appleが開発した方法の一般的適用性をテストする強力な候補やな。

もちろんTulu 3データセットはHugging Faceでオープンソースとして見つけることができる。ダウンロードできて、全てが利用可能や。

今君は言うかもしれへん「それで、訓練プロセスはどのパラメータで行われたんか、全ての最適化プロセスを経た後、Appleは今何を推奨するんか」ってな。そして彼らは言った、K=8のマスクトークンでモデルを訓練したってな。

だからシステムは一度に最大9個のトークンを予測するように設計されたんや。だから標準的な次のトークン予測トークン、標準トークンと8個のMTPトークン、マスクトークンがあって、これらがマルチトークン予測のために一度の実行で行われるんや。これが未来や。これが確率分布で出現する次のトークンについての未来への視点なんや。

そしてベースモデルの容量、パフォーマンスを保持するために、彼らは単純に重みを凍結し、既に言ったように2つの追加コンポーネント、ゲート付きLoRA層だけをファインチューニングしたんや。そして彼らは特にランク128で実行した。わいがLoRAを説明する動画で説明したとおりや。そしてサンプラーについては、彼らが追加したヘッドについて言ったとおり、これは単純に2層MLPなんや。

そう、ハードウェアインフラ。8つのNvidia A100 GPU、50,000世代のADMWオプティマイザーでファインチューニングされた。やり方の古典的な方法やな。

そしてここに結果がある。だからここに異なるベンチマーク全てに対する結果がある。スキルは何か?これは知識についてや。これは数学について。これはコーディングについて。これはチャットについて。これは安全性について。素晴らしいわ。

そして今k=1、k=2、k=3から8まで行こう。そしてここにLlama 3モデルのこのTulu 3データセットに対する異なるドメインの溶融トークン予測によって含まれる速度向上がある。

だから非常に特定のデータセット、非常に特定のモデルやけど、一般的に家にあるオープンソースのモデルでこの特定の方法論を実行できるんや。そしてここに速度向上を得るんや。ここでコーディングでは5.35倍のパフォーマンス、速度向上が見えるし、知識では2倍半の速度向上を得るんや。

でも個人的にAppleの分析でここで見る最も魅力的な発見の一つは、LoRAのランクに関連したものなんや。なぜなら高ランクのLoRA構成を使う必要があると思うやろうからな。でもこれを見てや。彼らは真ん中でLoRAランクの効果を分析してる。LoRAのランクがあって、1、2、4、5、128が見えるけど、これを見てや。そう。

異なる色で、1マスク、5マスク、または8マスクや。だから見えるやろう、より多くの未来トークン予測を追加すればするほど、素晴らしい。速度向上が高くなる、素晴らしい。でもLoRAのランクを見てみよう。かなり早くほぼ飽和設定になってるのが見えるやろう。そして128でちょっとしたピークがあるけど、512では墜落してる。

だからこの飽和領域で動作する場合、LoRA計算のランクとして32は必要ない。ランク2で絶対に大丈夫かもしれへん。

今これは大いに役立つ。なぜならメモリオーバーヘッドのパーセンテージを見ると、君は言うかもしれへん「たった1%、3%、5%か、全てが重要やけど」見てや。今ランク4、ランク4があるとすると、追加メモリオーバーヘッドの1%以下になる。これは素晴らしい。これはローランク4で次のトークン予測以上のもの、マスクを持つマルチトークン予測を持つ方法論で、既に役に立ってるんや。

何と美しい構成やろうか。LoRAの高いランクに行く必要がない。素晴らしいわ。ローランクで十分や。メモリオーバーヘッドは実質的に無視できる。そう、サンプラーヘッドを追加するのは多くのアブレーション試験をして、LoRAランクを増加させるよりもはるかに大きなパフォーマンス向上を提供するんや。

我々は今、ほぼ水平パフォーマンス指標があることを見たんや。そして最後のここは単純に、わいが見せたように128を超えてランクを増加させると、パフォーマンスを害する可能性があるってことや。後退して、彼らが思うには、比較的小さなファインチューニングデータセットでそんなに大きなアダプターを持つことは、単純にオーバーフィッティングにつながるだけで、パフォーマンス更新から追加の利益がないってことなんや。

そしてこれは我々に何かを示してくれる。オープンソースLLMに既に存在するポテンシャルを解放するために、大規模で高コストな適応は必要ないってことや。小さな標的を絞った微調整でできるんや。これは絶対に効率的や。LoRAモデルでランク4、この方法を計算とパラメーターオーバーヘッドの両方の面で非常に効率的にするんや。1%未満やで。

そして君は言うかもしれへん「それで、速度向上があるんやな。素晴らしい。動いてるんやな。素晴らしい。でも品質について確信があるんか?」ってな。なぜなら時々、速度を500%向上させると、何かを与えなあかんことがあるからや。いや、何かを犠牲にせなあかんねん。

だから重要な質問は、速度向上が品質のコストで来るんかってことや。我々の構造について考えてみいや。LoRAがあったけど、全てのトークンに適用される通常のLoRAやなくて、LoRA実装でゲート構造を持ってたんや。だから古典的な品質コストストアは今完全に違うんや。なぜなら我々のファインチューニングプロセスは、気づくように、MTPトークンだけに対してなんやからな。

そしてこれを見ることができて、Appleは考えて言った「我々には簡単な指標がある。これはクロスエントロピー直接やけど、今は次のトークン予測トークンのNTPからや。この損失関数を見て、この損失の動作を見ると、動いてるかどうかがすぐに分かる」ってな。

だからここに別の実験結果がある。X軸に反復、Y軸に損失があって、標準LoRAのエントロピーのクロスエントロピーが見える。そしてこの損失は増加してる。つまり、標準LoRAで行くとモデルが元のタスクで悪くなるってことや。でも我々はこれをしない。Appleは言った「いや、我々は特定のゲート付きLoRAアーキテクチャをMTPトークンでのみ選んだ」ってな。そして完全にフラット、クロスエントロピーの増加がないのが見える。

もちろん、我々がそのように構築したからや。LoRAパフはNTPトークンに対して無効になってる。だから勾配の流れが戻ってこないし、モデルの元のパフォーマンスは完璧に保持されてるんや。そしてここに、望むなら、これの実験的検証があって、もちろん我々はこの方法で構築したんや。ニューラルネットワークの奥深くのどこかで何かが起こってないことを確認するためだけやからな。

今我々は言うことができる。この方法は今、モデルによって生成されるテキストの品質の劣化なしに、大幅な速度向上を達成するんや。絶対に驚くべきことや。そんなシンプルな方法、最適化の5つのステップだけや。既に知ってる要素を取って、ただ違いを見る損失関数を構築しただけや。

おいおい、Apple。ホンマに?この素晴らしいものを開発できるAppleに頼らなあかんかったんか?

未来のAIシステム

だから我々はここにいるんや。未来のAIシステムや。何という素晴らしい洞察やろうか。古典的なLLMを使えるし、Appleは我々にシンプルな教師あり微調整方法論を与えてくれた。追加せなあかん小さな調整だけで、我々のAIは500%の速度を持つことができるんや。

絶対に興味深い。わいは今すぐこれを試してみるで。次の動画で会おうな。

コメント

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