
FELAFAXは、 XLAランタイムを使用して、継続的なトレーニングおよび微調整オープンソースLLMのフレームワークです。必要なランタイムのセットアップを処理し、開始するためにJupyterノートブックをボックス外に提供します。
Felafaxでの私たちの目標は、インフラを構築して、非NVIDIAハードウェア(TPU、AWSトレインウム、AMD GPU、およびIntel GPU)でAIワークロードを簡単に実行できるようにすることです。
データセットを追加し、[すべて実行]をクリックすると、Google Colabで無料のTPUリソースで実行できます。
| Felafaxサポート | 無料ノートブック |
|---|---|
| llama 3.1(1b、3b) |
llama-3.1JAX実装
llama-3/3.1 pytorch xla
Felafax CLIを使用してモデルを微調整して、いくつかの簡単な手順で始めましょう。
CLIをインストールすることから始めます。
pip install pipx
pipx install felafax-cli次に、認証トークンを生成します。
最後に、トークンを使用してCLIセッションを認証します。
felafax-cli auth login --token < your_token >まず、微調整用のデフォルトの構成ファイルを生成します。このコマンドは、デフォルトのハイパーパラメーター値を使用して、現在のディレクトリにconfig.ymlファイルを生成します。
felafax-cli tune init-config次に、ハイパーパラメーターで構成ファイルを更新します。
ハギングフェイスノブ:
データセットパイプラインとトレーニングパラメーション:
batch_size 、 max_seq_lengthを調整します。nullに設定します。 num_stepsが数に設定されている場合、指定されたステップ数の後にトレーニングが停止します。learning_rateとlora_rankを設定して、微調整に使用します。eval_intervalは、評価間のステップ数です。フォローコマンドを実行して、微調整できるベースモデルのリストを表示します。今のところ、llama-3.1のすべてのバリエーションをサポートしています。
felafax-cli tune start --helpこれで、上記のリストから選択したモデルを使用して微調整プロセスを開始し、Huggingfaceからデータセット名( yahma/alpaca-cleanedなど)を開始できます。
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >あなたを開始するための例コマンド:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleaned微調整ジョブを開始した後、 Felafax CLIはTPUをスピンアップし、トレーニングを実行し、微調整されたモデルをHuggingface Hubにアップロードします。
リアルタイムログをストリーミングして、微調整するジョブの進捗状況を監視できます。
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -f微調整が完了した後、すべての微調整されたモデルをリストできます。
felafax-cli model listインタラクティブな端末セッションを開始して、微調整されたモデルとチャットできます。
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > CLIは3つの主要なコマンドグループに分かれています。
tune :微調整ジョブを開始/停止します。model :微調整されたモデルを管理および対話する。files :YourDatasetファイルをアップロード/表示します。 --helpフラグを使用して、コマンドグループの詳細を発見してください。
felafax-cli tune --help最近、Pytorchの代わりにJaxを使用して、8xamd Mi300X GPUのLlama3.1 405bモデルを微調整しました。 JaxのAdvanced Sharding APIにより、素晴らしいパフォーマンスを実現できました。セットアップと使用したシャードのトリックについて学ぶために、ブログ投稿をご覧ください。
BFLOAT16精度のすべてのモデル重量とロラパラメーター、およびLORAランク8および16のロラアルファでLORA微調整を行いました。
GPU使用率とVRAM使用グラフは、以下にあります。ただし、モデルフロップ利用(MFU)を計算する必要があります。注:インフラストラクチャとVRAMの制約により、JITコンパイルされたバージョンの405Bモデルのバージョンを実行できませんでした(これをさらに調査する必要があります)。トレーニング全体の実行はJax Eaverモードで実行されたため、パフォーマンスの改善には大きな可能性があります。


ご質問がある場合は、[email protected]までお問い合わせください。