# Ludwig 単一のYAML設定でモデルの学習、微調整、デプロイを行うオープンソース宣言型深層学習フレームワーク。 - Findings24: - ウェブサイト: - 料金: Freemium - カテゴリー: AIコードアシスタント, AI開発者ツール, AIモデルハブ ## Ludwigとは? Ludwigは、1つのYAML設定ファイルだけでカスタムモデルの構築、ファインチューニング、デプロイができるオープンソースの宣言的深層学習フレームワークです。手書きの学習ループを避けつつ、必要なときには高度な制御も維持したいユーザー向けに位置づけられています。 サイトによると、Ludwigは表形式、テキスト、画像、音声、時系列、LLMワークフローをサポートし、モデル定義を変更せずにローカル実行またはRayクラスターへのスケールが可能です。製品ドキュメントでは、組み込みの前処理、実験追跡、推論、エクスポートのワークフローも強調されています。 ## Ludwigでできること ### 宣言的なYAML設定 前処理、エンコーダー、アーキテクチャ、学習、ハイパーパラメータ最適化を、手作業で学習ループを書く代わりに、1つの検証済みYAMLファイルで定義します。 ### マルチモーダル・マルチタスクモデリング 表形式、テキスト、画像、音声、時系列、その他の特徴量を組み合わせたモデルを構築し、1回の実行で複数の出力を学習します。 ### LLMファインチューニングスタック 教師ありのインストラクションチューニングや、DPO、KTO、ORPO、GRPOを含むアライメント手法に加え、LoRA、QLoRA、DoRA、VeRAを使ってLLMをファインチューニングします。 ### 分散学習バックエンド Ray用のバックエンド設定を追加するだけでローカルジョブを分散実行に切り替えられ、DDP、FSDP、DeepSpeed、KubeRay のサポートが示されています。 ### ハイパーパラメータ最適化 Ray TuneまたはOptunaで組み込みHPOを実行でき、Auto、TPE、GP、CMA-ESなどのサンプラーと、SQLiteまたはPostgreSQLによる永続化を利用できます。 ### 推論とエクスポートのワークフロー 1つのコマンドでモデルを提供し、SafeTensors、ONNX、\`torch.export\` にエクスポートできます。Dockerイメージや Hugging Face Hub へのアップロードオプションもあります。 ## 利用シーン ### 設定からカスタムモデルを学習する YAMLファイルから教師ありモデルを構築し、前処理やループロジックをゼロから書かずに学習パイプラインを明示的に保ちたい場合にLudwigを使います。 ### マルチモーダルおよびマルチタスクのモデリング テキストと表形式特徴量、画像とメタデータのような異なる入力タイプを組み合わせ、1つのモデルで複数の出力を学習するプロジェクトに使います。 ### LLMのファインチューニングと推論 LLMツールを使って、4ビットQLoRAや関連するアライメント手法でオープンモデルをインストラクションチューニングし、その後Ludwigの推論コマンドで結果を提供します。 ### Rayでの分散学習 ローカル実験を、基盤となるモデル定義を変更せずにクラスター上の分散実行へ拡張する必要がある場合にRayバックエンドを使います。 ### モデルのエクスポートとデプロイ REST API、Dockerイメージ、またはONNXやSafeTensorsのようなデプロイ用モデル成果物が必要な場合に、組み込みのエクスポートと推論ワークフローを使います。 ## よくある質問 ### Ludwigは何に使われますか? Ludwigは、前処理、モデルアーキテクチャ、学習、ハイパーパラメータ最適化、推論を1つの設定ファイルで定義できるYAMLベースのフレームワークです。サイトでは、オープンソースの宣言的深層学習フレームワークとして説明されています。 ### Ludwigはどのように使いますか? 入門ページとホームページでは、コマンドライン中心のワークフローが示されています。Ludwigをインストールし、データセットを準備して、\`ludwig train --config ...\` を実行します。また、予測、評価、ハイパーパラメータ最適化、推論、分散学習、LLMファインチューニングについても説明されています。 ### Ludwigはどのようなモデルやデータをサポートしていますか? サイトによると、Ludwigは表形式データ、テキスト、画像、音声、時系列、LLMワークフローをサポートしています。また、マルチモーダルおよびマルチタスクのモデリングにも対応しています。 ### Ludwigはデプロイに使えますか? ホームページとドキュメントでは、LudwigはモデルをREST APIとして提供でき、SafeTensors、ONNX、\`torch.export\` などの形式にエクスポートできると示されています。Dockerイメージや Hugging Face Hub へのアップロードにも言及があります。 ## クイック情報 - **カテゴリ**: 開発者向けツール - **主な利用者**: MLおよびAIの実務者 - **プラットフォーム**: オープンソースフレームワーク - **ソースドメイン**: ludwig.ai - **ライセンス**: Apache 2 License - **デプロイ**: ローカル、Rayクラスター、Kubernetes