torchtune: PyTorch native post-training library

本論文は、大規模言語モデルの事後学習ライフサイクルを効率化するために、モジュール性、透明性、拡張性を優先して設計されたPyTorchネイティブのライブラリであるtorchtuneを紹介し、競争力のある性能とメモリ効率を維持しつつ、効率的なファインチューニングと迅速な研究イテレーションを可能にする。

原著者: Mark Obozov, Maxime Griot, Joseph Cummings, Evan Smothers, Felipe Mello, Rafi Ayub, Philip John Bontrager, Salman Mohammadi, Ariel Kwiatkowski, Nathan Azrak, Mircea Mironenco

公開日 2026-05-21✓ Author reviewed
📖 1 分で読めます☕ さくっと読める

原著者: Mark Obozov, Maxime Griot, Joseph Cummings, Evan Smothers, Felipe Mello, Rafi Ayub, Philip John Bontrager, Salman Mohammadi, Ariel Kwiatkowski, Nathan Azrak, Mircea Mironenco

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

巨大で非常に賢いロボット(大規模言語モデル)が、膨大な量の書籍から読み書きをすでに学習したと想像してください。ここで、詩を書くことや医療質問に答えることなど、特定の新しいスキルを教えたくなります。このプロセスは「ポストトレーニング」または「ファインチューニング」と呼ばれます。

本論文では、この教育プロセスをより速く、安価に、かつ理解しやすくするための新しいツールキット「torchtune」を紹介しています。その仕組みを、簡単なアナロジーを用いて以下に説明します。

1. 課題:「ブラックボックス」対「レゴセット」

torchtune 以前、これらのロボットを教育するためのツールのほとんどは、組み立て済みの家具のようでした。テーブル(トレーニングレシピ)を購入すれば、それは非常に良く機能しましたが、脚や仕上げを変更したい場合、それをハンマーで叩き壊す必要がありました。これらのツールはしばしば、他の巨大で複雑なシステムの上に構築されていたため、修正や微調整が困難でした。何か問題が起きた場合、指示が他のソフトウェアの層の奥に隠れているため、なぜそうなったのかを把握できませんでした。

torchtune は異なります。それはレゴセットのようです。

  • モジュール性: 巨大なブロック一つではなく、個々のレンガ(モデルビルダー、データローダー、オプティマイザー)を提供します。全体の構造を壊すことなく、レンガを別の色や形のものに差し替えることができます。
  • 透明性: 各レンガがどのように接続されているかを正確に確認できます。隠された層はありません。ロボットの学習方法を変更したい場合、特定の部品を一つ交換するだけで、残りはそのままです。

2. 「イン・バックワード」のトリック:歩きながら食べる

これらのロボットをトレーニングする際、最大の頭痛の種の一つはメモリです。部屋を横断しながら、その上にメモを書こうとする巨大な書類の束(勾配)を運ぶと想像してください。何かを行う前にその束を保持するには、非常に広いスペースが必要です。

torchtune は**「in-backward optimizer fusion(イン・バックワード・オプティマイザー・フュージョン)」**と呼ばれる巧妙なトリックを導入しています。

  • 従来の方法: すべての書類を集め、それらを机まで運び、その後メモを書きます。これには巨大な机(メモリ)が必要です。
  • torchtune の方法: 書類を拾う瞬間にその紙にメモを書き、すぐにその紙を捨てます。一度に束全体を保持する必要は決してありません。
  • 結果: これにより、莫大な量のメモリが節約されます。本論文によれば、これはコンピューターがクラッシュする(メモリ不足)ことと、標準的なハードウェアで巨大なモデル(Llama 3.3 70B のようなもの)のトレーニングに成功することとの違いを生み出します。

3. 「ロス並列」のトリック:ケーキを切る

ロボットが自身のパフォーマンス(「ロス」)を計算すると、メモリを大量に消費する巨大で密集した数値の表を作成することがよくあります。

  • アナロジー: 1,000 人分のケーキを一度に焼こうと想像してください。一つのオーブンには大きすぎます。
  • 解決策: torchtune はケーキをより小さなスライスに切り分け、異なるオーブン(異なるプロセッサ)で同時に焼きます。巨大なケーキ全体を一つの場所に保持しようとは決してしません。これにより、システムはスペース不足に陥ることなく、巨大な語彙を持つモデルを処理できます。

4. 「非同期」工場:組立ライン

高度なトレーニング(強化学習など)において、ロボットは「考える」(回答を生成する)ことと「学ぶ」(脳を更新する)ことを行わなければなりません。通常、これらは工場のように、塗装ステーションがアセンブリラインが忙しい間、アイドル状態になるように、順番に起こります。

  • torchtune のアプローチ: 彼らは非同期の組立ラインを構築しました。
  • 仕組み: 作業員の一団が回答を生成する(塗装する)のに忙しくしている間、もう一団はすでにトレーニング(組み立て)に忙しく働いています。彼らはコンベアベルト(キュー)を使用して、作業を相互に渡します。これにより、工場全体が停止と開始を繰り返すのではなく、100% の能力で稼働し続けることができます。

5. 結果:速度と効率

著者らは、torchtune を他の人気のあるツール(Axolotl および Unsloth)と比較してテストしました。

  • レース: 直接対決において、torchtune はトレーニングをより速く完了するか、より少ないメモリを使用することが多かったです。
  • 「OOM(メモリ不足)」の修正: 最大のモデルにおいて、他のツールはメモリ不足により頻繁にクラッシュしました。torchtune は「歩きながら食べる」方法のようなメモリ節約のトリックを使用することで、他のツールが失敗した場所でこれらの巨大なモデルをトレーニングすることができました。
  • 柔軟性: レゴのように構築されているため、研究者はこれらのトリックを組み合わせて使用できます。彼らは、すべてのトリックを一緒に使用することが最良の結果をもたらしましたが、必要に応じて単一のトリックのみを使用することも可能であることを発見しました。

まとめ

torchtune は、AI トレーニングを、ロックされたブラックボックスではなく、透明で交換可能なブロックのセットとして扱う新しいオープンソースツールキットです。データを保存するのではなく即座に処理することでメモリを節約し、タスクを並列実行することで速度を向上させ、プロセスのすべての部分を微調整するための研究者への完全な制御を提供します。この論文は、小規模な実験から大規模な産業規模のモデルトレーニングまで、既存のツールよりも優れていることを示しています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →