ニュース

Mozilla、WebExtensions ML APIを発表 ~AIタスクをオフライン実行するアドオンを手軽に開発

「Firefox」内蔵のAIランタイムを拡張機能開発者へ実験的に開放

Mozilla、「WebExtensions ML API」を発表

 Mozillaは1月22日(米国時間)、「WebExtensions ML API」を発表した。「Firefox」に内蔵されるAIランタイム(Firefox AI Runtime)を用いて、機械学習タスクをオフライン実行するWeb拡張機能を開発できる。

 「Firefox AI Runtime」は、機械学習モデル「Transformers」のPython APIをJavaScript化した「Transformers.js」と、それをWebブラウザーで動かすための「ONNX Runtime」から成る。「Transformers.js」は素のJavaScriptからでも利用できるが、「Firefox AI Runtime」は推論ランタイムを専用の隔離プロセスで実行するため、安全性と堅牢性に優れる。

 このプラットフォームは、すでに「PDF.js」の画像に代替テキスト(ALT)を提供する目的で「Firefox 133」に同梱されており、「Firefox 134」以降も、ユーザーエクスペリエンス向上のためいくつかの場所で活用されているという。

 今回の発表は、この「Firefox AI Runtime」を拡張機能の開発者コミュニティに開放するものだ。ただし、まだ実験的な段階と位置付けられており、「browser」オブジェく直下ではなく、「browser.trial」以下で公開される(browser.trial.ml)。たとえば、与えられたテキストを要約するAIタスク(summarization)は、以下のように記述する。

async function summarize(text) {
  await browser.trial.ml.createEngine({taskName: "summarization"});
  const result = await browser.trial.ml.runEngine({args: [text]});
  return result[0]["summary_text"];
}

 将来的なAPIの変更に備え、機能検出や「strict_min_version」宣言も組み合わせながら、「Firefox」側のアップデートで壊れないように実装するのが望ましい。

 AIタスクには要約のほかにも、テキストの分類、質問への応答、単語をマスクしたテキストから内容を予測、翻訳、テキストから画像生成、画像からテキスト生成、画像内オブジェクトの認識といったものが公開されている。「Hugging Face」の許可リストに登録されたモデルを利用して、既定では用意されていないAIタスクを利用することも可能だ。