Microsoftは、.NET開発者向けの機械学習(ML)フレームワークの最新版「ML.NET 1.2」を発表した。下位互換性を維持しながら、さまざまな改良を施した。予測と異常検知を担うパッケージや「TensorFlow」を使うためのパッケージが正式版になった。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2019年7月17日(米国時間)、.NET開発者向けのオープンソースのクロスプラットフォーム機械学習(ML)フレームワークの最新版「ML.NET 1.2」を発表した。
ML.NETはWindowsやLinux、macOSに対応する。AutoML(Automated Machine Learning)を利用して、カスタムMLモデルを簡単に作成するための「Model Builder」(Visual Studio用のシンプルなUIツール)とCLI(コマンドラインインタフェース)を提供する。
ML.NETを使うことで、開発者は既存のツールやスキルを用いてカスタムAIを開発し、アプリケーションに組み込むことができる。感情分析や価格予測、画像分類といった一般的なシナリオのためのカスタムMLモデルが作成可能だ。
Microsoftは、「ML.NET 1.2は下位互換性があり、従来の機能が使えなくなる変更は加えられていない」と述べ、最新機能が利用できるML.NET 1.2へのアップデートを勧めている。
ML.NET 1.2では、従来のML.NET 1.1に対して次のような機能改良を施した。
開発者は「Microsoft.ML.TimeSeries」パッケージをさまざまなシナリオに利用できる。例えば、異常検知モデルを使って、商品販売の急増や変化を検知したり、季節的要因など、時間に関連するコンテキストに影響される可能性のある販売予測を作成したりできる。
ML.NETは、拡張可能なプラットフォームとして設計されているため、「TensorFlow」モデルや「ONNX」モデルなど、人気のある他のMLモデルを利用できる。
開発者は画像分類やオブジェクト検出など、さまざまなMLやディープラーニングのシナリオにアクセスできる。
「Microsoft.Extensions.ML」パッケージを使えば、ML.NETモデルとASP.NETアプリ、Azure Functions、Webサービスを簡単に統合できる。
具体的には、開発者はMicrosoft.Extensions.MLを使うことで、Dependency Injectionを利用してML.NETモデルをロードし、このモデルの実行とパフォーマンスを、ASP.NET Coreアプリなどのマルチスレッド環境に最適化できる。
ML.NET CLIを使えば、ML.NETモデルとC#コードを自動的に生成できる。ML.NET CLIは、任意のコマンドプロンプト(WindowsやMac、Linux)で実行できる。
ユーザーがデータセットを用意し、実装したいMLタスク(分類や回帰など)を選択すれば、CLIがAutoMLエンジンを使用して、モデルの生成とソースコードのデプロイを行い、バイナリモデルも得られる。
ML.NET Model Builderは、カスタムMLモデルを作成する他、トレーニングを施し、デプロイするための分かりやすいビジュアルインタフェースを提供する。
モデルのトレーニングに「.txt」ファイルを利用できるように改善した。Model Builderの初期プレビュー版では、「.csv」「.tsv」ファイルのみをサポートしていた。
新版ではスペースやカンマ、タブ、セミコロンといったデリミタで値を区切ることも可能になった。
トレーニングデータのサイズは従来、1GBが上限だった。新版ではあらゆるサイズのファイルを開発者がアップロードできるようになった。
以前はデフォルトのトレーニング時間が10秒間で固定されていた。新版ではデータのサイズに基づいてデフォルト時間が設定されるようになった。これにより、Model Builderはトレーニング時間内に、少なくとも1つのモデルを見つけることが可能になった。
次のトレーニング時間は、Microsoftが検証した平均的な値だ。
データセットのサイズ | データセットのタイプ | 平均トレーニング時間 |
---|---|---|
0〜10MB | 数値とテキスト | 10秒 |
10〜100MB | 数値とテキスト | 10分 |
100〜500MB | 数値とテキスト | 30分 |
500MB〜1GB | 数値とテキスト | 60分 |
1GB以上 | 数値とテキスト | 3時間以上 |
モデル作成プロセスの最終ステップであるコード生成において、Model Builderが、ML.NET 1.2のNuGetパッケージも追加するように改善した。
Model BuilderはML.NETの最新版を使用するので、生成されるコードは、ML.NET 1.2を参照する。これまでのプレビュー版は、ML.NET 1.0を使用していた。
Copyright © ITmedia, Inc. All Rights Reserved.