Uber Ludwig は、ローコード機械学習用のオープンソース フレームワークです。

Uber Ludwig は、ローコード機械学習用のオープンソース フレームワークです。

[[330500]]

【51CTO.com クイック翻訳】

ディープラーニング モデルのトレーニングとテストは、機械学習とデータ インフラストラクチャに関する深い理解を必要とする難しいプロセスです。機能モデリングからハイパーパラメータの最適化まで、ディープラーニング モデルのトレーニングとテストの方法は、現実世界のデータ サイエンス ソリューションが直面する最大のボトルネックの 1 つです。この部分を簡素化することで、ディープラーニング技術の導入が容易になります。ディープラーニング モデルのローコード トレーニングは新興分野ですが、すでに革新が起こっています。この問題に対する最も完全な解決策の 1 つは、Uber AI Labs から生まれました。 Ludwig は、コードを書かずに機械学習モデルをトレーニングおよびテストするためのフレームワークです。最近、Uber は Ludwig の 2 番目のバージョンをリリースしました。これには、機械学習開発者に主流のノーコード エクスペリエンスを提供するための機能の大幅な改善が含まれています。

Ludwig は、宣言型のコードフリー エクスペリエンスを使用して、機械学習モデルのトレーニングとテストのプロセスを簡素化することを目指しています。トレーニングは、ディープラーニング アプリケーションにおいて開発者の労力が最もかかる側面の 1 つです。通常、データ サイエンティストは、特定のトレーニング データセットでより高いパフォーマンスを実現するために、さまざまなディープラーニング モデルの実験に多くの時間を費やします。このプロセスにはトレーニングだけでなく、モデルの比較、評価、ワークロードの分散など、他のいくつかの側面も含まれます。ディープラーニング モデルのトレーニングは、非常に技術的な作業であるため、通常はデータ サイエンティストや機械学習の専門家に限定され、大量のコードが伴います。この問題はあらゆる機械学習ソリューションに共通していますが、通常多くのレイヤーと階層が関係するディープラーニング アーキテクチャでは特に深刻になります。 Ludwig は、変更とバージョン管理が容易な宣言型モデルを使用して、機械学習プログラムのトレーニングとテストの複雑さを隠します。

機能面では、Ludwig フレームワークは、特定のシナリオに対する機械学習モデルの選択、トレーニング、評価のプロセスを簡素化するために使用されます。 Ludwig は、さまざまな特定のニーズに合わせて最適化されたエンドツーエンドのモデルを作成するために組み合わせることができる一連のモデル アーキテクチャを提供します。概念的には、Ludwig はいくつかの原則に基づいて設計されています。

  • プログラミングは不要: Ludwig では、モデルをトレーニングするために機械学習の専門知識は必要ありません。
  • 汎用性: Ludwig はさまざまな機械学習シナリオで使用できます。
  • 柔軟性: Ludwig は、経験豊富な機械学習の専門家と経験の浅い開発者の両方が使用できるほど柔軟性があります。
  • スケーラビリティ: Ludwig はスケーラビリティを考慮して設計されています。新しいバージョンにはそれぞれ、コアモデルを変更せずに新しい機能が含まれます。
  • 解釈可能性: Ludwig には、データ サイエンティストが機械学習モデルのパフォーマンスを理解するのに役立つ視覚化要素が含まれています。

Ludwig を使用すると、データ サイエンティストは、トレーニング データを含む CSV ファイルとモデルの入力と出力を含む YAML ファイルを提供するだけで、ディープラーニング モデルをトレーニングできます。 Ludwig は、これら 2 つのデータ ポイントを使用して、マルチタスク学習ルーチンを実行し、すべての出力を同時に予測して結果を評価します。このシンプルな構造が、迅速なプロトタイピングを可能にする鍵となります。内部的には、Ludwig は継続的に評価され、最終的なアーキテクチャに統合できるディープラーニング モデルのコレクションを提供します。

Ludwig の背後にある主な革新は、特定のデータ タイプ用のエンコーダーとデコーダーの概念に基づいています。 Ludwig は、サポートされているデータ タイプごとに特定のエンコーダーとデコーダーを使用します。他のディープラーニング アーキテクチャと同様に、エンコーダーは生データをテンソルにマッピングし、デコーダーはテンソルを出力にマッピングします。 Ludwig のアーキテクチャには、コンバイナの概念も含まれています。コンバイナは、すべての入力エンコーダからのテンソルを結合して処理し、出力デコーダで使用するためにテンソルを返すコンポーネントです。

図1

データ サイエンティストは、トレーニングと予測という 2 つの主な機能に Ludwig を使用します。次のデータセットを使用してテキスト分類シナリオに取り組んでいるとします。

図2

Ludwig を使い始めることができます。次のコマンドを使用してインストールするだけです。

  1. pip インストール ルートヴィヒ 
  2. python -m spacy ダウンロード en

次のステップは、モデルの入力特性と出力特性を指定するモデル定義 YAML ファイルを構成することです。

  1. 入力機能:  
  2. -  
  3. 名前:テキスト 
  4. タイプ: テキスト 
  5. エンコーダー: parallel_cnn  
  6. レベル: wordoutput_features:  
  7. -  
  8. 名前: クラス 
  9. タイプ: カテゴリ

これら 2 つの入力 (トレーニング データと YAML 構成) を使用して、次のコマンドを使用してディープラーニング モデルをトレーニングできます。

  1. ルートヴィヒ実験 
  2. --data_csv ロイター-allcats.csv \    
  3. --model_definition_file モデル定義.yaml  

Ludwig は、トレーニングと予測中に使用できる視覚化要素のセットを提供します。たとえば、学習曲線の視覚化要素を使用すると、モデルのトレーニングとテストのパフォーマンスを把握できます。

図3

トレーニング後、次のコマンドを使用してモデルの予測を評価できます。

  1. ludwig predict --data_csv パス/to/data.csv --model_path /path/to/model  

他の視覚化要素を使用して、モデルのパフォーマンスを評価できます。

図4

ルートヴィヒの新着情報

Uber は最近、Ludwig の 2 番目のバージョンをリリースしました。このバージョンでは、モデルのトレーニングとテストのノーコード エクスペリエンスを向上させるように設計された一連の新機能がコア アーキテクチャに追加されています。 Ludwig の新機能の多くは、他の機械学習アーキテクチャまたはフレームワークとの統合に基づいています。主な機能は次のとおりです。

  • Comet.ml との統合: Comet.ml は、ハイパーパラメータの最適化と機械学習の実験のための市場で最も人気のあるプラットフォームの 1 つです。 Ludwig と Comet.ml の新しい統合により、データ サイエンティストのツールボックスに不可欠なハイパーパラメータ分析やリアルタイムのパフォーマンス評価などの機能が追加されます。
  • モデルの提供: モデルの提供は、機械学習プログラムのライフサイクルの重要な部分です。 Ludwig の新しいバージョンでは、シンプルな REST クエリを使用してトレーニング済みのモデルとクエリ予測を提供する API エンドポイントが提供されます。
  • オーディオ/音声機能: Ludwig 0.2 の最も重要な新機能の 1 つは、オーディオ機能のサポートです。これにより、データ サイエンティストは、非常に少ないコードでオーディオ分析モデルを構築できるようになります。
  • BERT エンコーダー: BERT は、ディープラーニングの歴史の中で最も人気のある言語モデルの 1 つです。 BERT は Transformer アーキテクチャに基づいており、質問への回答やテキスト生成など、多くの言語タスクを実行できます。 Ludwig は、テキスト分類シナリオのネイティブ ビルディング ブロックとして BERT をサポートするようになりました。
  • H3 関数: H3 は、位置を 64 ビットの整数にエンコードする非常に一般的な空間インデックスです。 Ludwig 0.2 は H3 を直接サポートし、空間データセットを使用した機械学習モデルの実装を可能にします。

Ludwig のその他の新機能には、視覚化 API の改善、新しい日付関数、テキスト トークン化における英語以外の言語のサポート強化、データ前処理機能の強化などがあります。特にデータ インジェクションは、次期 Ludwig バージョンの主要な焦点となるようです。

Ludwig はまだ比較的新しいフレームワークであり、多くの改善が必要です。ただし、ローコード モデルのサポートは、より幅広い開発者の間で機械学習の採用を促進するための重要な構成要素です。さらに、Ludwig は、市場で主流となっているいくつかの機械学習フレームワークの使用を抽象化し、簡素化します。

原題: Uber の Ludwig はローコード機械学習のためのオープンソースフレームワーク、著者: Jesus Rodriguez

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  AI + リアルタイム監視技術が公共サービスを改善する10の方法

>>:  ディープラーニングと群衆カウントの融合

ブログ    
ブログ    

推薦する

TIC 2018で人工知能が熱く議論され、AIが応用段階に突入

[51CTO.com からのオリジナル記事] クラウド コンピューティング、ビッグ データ、ブロック...

人工知能の現状と今後の発展はどのようなものでしょうか?

まず、人工知能の現在の開発状況を理解しましょう。人工知能技術は現在、急速な発展期にあります。雨後の筍...

...

AIはキーボードの音を聞いてパスワードを盗むことができ、その精度は最大95%

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

モノのインターネット – インド国防軍にとっての可能性

世界がインダストリー4.0へと向かうにつれ、モノのインターネットへの世界的な支出は2022年までに1...

...

マルチエージェント強化学習アルゴリズムが機能しないと聞きました。 MAPPOを正しく使用しましたか?

清華大学とカリフォルニア大学バークレー校の共同研究により、アルゴリズムやネットワークアーキテクチャに...

知っておくべき 8 つのニューラル ネットワーク アーキテクチャ

ニューラル ネットワークは機械学習におけるモデルの一種です。ニューラル ネットワークは、機械学習の分...

...

...

11月に最も人気のあるオープンソース機械学習プロジェクトとRedditの議論トップ5

導入データ サイエンティストになる上で最も良いことの 1 つはプログラミングです。多くの場合、私は...

医療AIの将来に注目すべき3つのトレンド

COVID-19の流行、メンタルヘルスの危機、医療費の高騰、人口の高齢化により、業界のリーダーたちは...

...

劉玉樹:人工知能における中国と米国の格差は縮まっているが、まだやるべきことはある

著者の劉玉樹氏は中国人民大学重陽金融研究所学務委員会委員、マクロ研究部部長、研究者である。本稿は11...