Developer Week 2024のAIデー、火曜日へようこそ!このブログポストでは、Workers AI、価格設定の改善とともに正式にGAに移行したこと、GPUハードウェアのモメンタムアップデート、Hugging Faceパートナーシップの拡大、ファインチューニングされたBring Your Own LoRA推論、WorkersにおけるPythonサポート、AI Gatewayにおけるプロバイダーの増加、Vectorizeメタデータフィルタリングなど、当社の新しいAI発表とビジョンの概要をご紹介します。
Workers AIのGA化
本日、Workers AI推論プラットフォームが一般利用可能になったことを発表いたします。数ヶ月にわたるオープンベータ版の後、より高い信頼性とパフォーマンスでサービスを改善、そして価格も発表し、弊社カタログに多くのモデルを追加しました。
向上したパフォーマンスと信頼性
弊社ではWorkers AIにより、AI推論をCloudflareの他ネットワークと同じように信頼性が高く使いやすいものにすることを目標に掲げています。そのため、Workers AIに内蔵の負荷分散をアップグレードしました。リクエストはより多くの都市のより多くのGPUにルーティングできるようになり、同時に各都市はAI推論に利用可能な総容量を把握しています。リクエストが現在の都市のキューで待機しなければならない場合、代わりに別の場所にルーティングでき、トラフィックが多いときに結果をより速く返すことができます。これに伴い、弊社はすべてのモデルでレート制限を引き上げました。ほとんどのLLMでは、ベータ段階での毎分50リクエストから、現在の上限は毎分300リクエストになっています。小規模なモデルでは、毎分1500~3000リクエストが上限となっています。Workers AI個々のモデルのレート制限については、開発者ドキュメントをご覧ください。
人気モデルのコスト低減
今月初め、Workers AIのGAと並行し、10種類の非ベータモデルのPricing Calculatorを発表しました。弊社では、Workers AIを推論実行のための最も手頃でアクセスしやすいソリューションの一つにしたいと考えており、より手頃な価格にするためにモデルにいくつかの最適化を加えました。現在、Llama 2は7倍以上、Mistral 7Bは14倍以上、3月1日の発表当初よりも、安価に実行できるようになっています。私たちは、AI推論のための最高のプラットフォームであり続けたいと考えており、今後も可能な限りお客様に最適化を提供していきます。
Workers AIの課金は4月1日より非ベータモデルで開始された一方、ベータモデルは引き続き無料で無制限のままとなります。すべてのお客様に1日10,000ニューロンを無料で提供しています。Workers Freeをご利用のお客様は、24時間で10,000ニューロンを超えた時点でハードレートの制限が発生し、Workers Paidをご利用のお客様は、追加ニューロン1,000個につき$0.011の使用料が発生します。価格に関する最新情報は、Workers AIプライシングに関する開発者ドキュメントをご覧ください。
新しいダッシュボードとプレイグラウンド
最後に、Workers AIダッシュボードとAIプレイグラウンドを刷新しました。CloudflareダッシュボードのWorkers AIページでは、価格設定をより的確に予測するためのニューロン計算を含む、各モデルの使用状況を分析できるようになりました。AIプレイグラウンドでは、さまざまなモデルをすばやくテストして比較し、プロンプトやパラメータを設定することができます。これらの新しいツールを使って、開発者がWorkers AIをシームレスに構築できることを願っています。
世界150都市以上でGPUによる推論を実施
2023年9月にWorkers AIを発表したとき、弊社は世界中のデータセンターでのGPU配備を決めました。2024年末までにこの約束を実現し、推論チューニングされたGPUをほぼすべての場所で配備、かつ最も広く分散されたクラウドAI推論プラットフォームとする計画です。現在、150以上の都市でGPUを導入しており、年間を通してさらに導入を進めていく予定です。
また、2024年第2四半期には、GPUを搭載した次世代コンピュートサーバーを発表する予定です。第12世代コンピュートサーバーの設計については、2023年12月のブログ記事でプレビューを提供しており、詳細は追ってお知らせします。第12世代と将来のプラン・ハードウェアの発表により、より大規模な機械学習モデルをサポートし、プラットフォーム上でファインチューニングを提供することが次のステップとなります。これにより、より高い推論スループット、より低い遅延、本番ワークロードに対するより高い可用性が実現し、ファインチューニングのような新しいカテゴリのワークロードにサポートを拡大できます。
Hugging Face との提携
また、オープンソースでベストなものをお客様にお届けするとの精神に基づき、Hugging Faceとのパートナーシップを継続できることを嬉しく思います。現在、Hugging Faceで最も人気のあるモデルの中から、弊社プラットフォーム上で利用可能なものであれば、Workers AI上でクリックするだけで簡単にモデルを実行できるようになっています。
Hugging Faceの協力のもと、プラットフォームに4つのモデルを追加しました。コンテキストウィンドウが改善された新しいMistral 7B v0.2モデル、Mistral 7Bのファインチューニング版であるNous ResearchのHermes 2Pro、GoogleのGemma 7B、そしてStarling-LM-7B-betaのファインチューニング版にOpenChatからアクセスできるようになりました。現在、弊社がHugging Faceでキュレーションした14のモデルが、Cloudflare'sのWorkers AIプラットフォームによって駆動されるサーバーレスGPU推論で利用可能です。これらのモデルは全てTGIバックエンドを持つHugging Faceのテクノロジーを使って提供されており、弊社はHugging Faceチームと密接に連携してこれらのモデルのキュレーション、最適化、デプロイを行っています。
「Cloudflareと共に、AIを開発者にとってよりアクセシブルにするこの取り組みに大きな期待を込めています。最も著名なオープンモデルをグローバルで大規模展開するGPUを備えたサーバーレスAPIと併せて提供することは、Hugging Faceコミュニティにとってまたとない提案内容であり、これによりビルドされるものを目にするのが非常に楽しみです」と述べています。- Hugging Face共同創設者兼CTO、Julien Chaumond
Workers AIでサポートされているすべてのオープンモデルは、このHugging Face Collectionで見つけられ、各モデルカードの上部に「Deploy to Cloudflare Workers AI」ボタンがあります。詳細は、Hugging Faceのブログポストで、また弊社の開発者ドキュメントでご覧ください。Workers AIで実行してみたいモデルがあれば、Discordにメッセージをお送りください。
ファインチューンされた推論のサポート - BYO LoRAs
ファインチューニングされた推論は、Workers AIについて弊社に最も求められる機能の1つである中、現在Bring You Own (BYO) LoRAに一歩近づいています。人気の高いLow-Rank Adaptationメソッドを用い、研究者はモデルを取得し、完全にファインチューニングされたモデルのように_すべて_のモデルパラメータを書き換えるのではなく、_一部の_モデルパラメータを手元のタスクに適応させる方法を発見しました。つまり、モデルを完全にファインチューニングするための計算コストをかけることなく、ファインチューニングされたモデル出力を得られるのです。
弊社は現在、Workers AIへの学習済みのLoRAの導入をサポートしています。LoRAアダプタを実行時にベースモデルに適用することで、完全にファインチューニングされたモデルの数分の一のコスト、サイズ、速度で、ファインチューニングされた推論を行うことができます。将来的には、弊社プラットフォームでファインチューニングジョブや完全にファインチューニングされたモデルを直接サポートできるようにしたいと考えています。
BYO LoRAsは現在、Gemma 2Bおよび7B、Llama 2 7B、Mistral 7Bモデルで、LoRAアダプタのサイズが最大100MB、最大ランクが8、1アカウントにつき合計30 LoRAまで利用できるオープンベータ版で提供しています。いつも通り、Workers AIと新しいBYO LoRA機能は、モデルのライセンス条項に含まれるモデル固有の使用制限を含め、利用規約を念頭に置いてご利用ください。
const response = await ai.run(
"@cf/mistralai/mistral-7b-instruct-v0.2-lora", //the model supporting LoRAs
{
messages: [{"role": "user", "content": "Hello world"],
raw: true, //skip applying the default chat template
lora: "00000000-0000-0000-0000-000000000", //the finetune id OR name
}
);
利用を始めるに当たり、テクニカル・ディープ・ダイブのブログ記事、および開発者向けドキュメントも併せてお読みください。
PythonでWorkersを記述
Pythonは、JavaScriptに次ぐ世界で2番目に人気のあるプログラミング言語であり、AIアプリの構築に選ばれる言語です。そして本日から、オープンベータ版として、Cloudflare WorkersでPythonで構築できるようになりました。Python Workersは、Vectorize、D1、KV、R2などを含む、Cloudflare上のリソースへのすべてのバインディングをサポートしています。
LangChainはLLMで稼働するアプリを構築するための最もポピュラーなフレームワークで、Workers AI がlangchain-jsで稼働するのと同様に、 Python LangChainライブラリもPython Workersで稼働し、FastAPIのような他のPythonパッケージも同様となっています。
Pythonで記述されたWorkersは、JavaScriptで書かれたWorkersと同じくらいシンプルになっています。
さらに、wrangler.toml
内の.pyファイルを指定するだけで設定できます**。**
from js import Response
async def on_fetch(request, env):
return Response.new("Hello world!")
余分なツールチェーンや、プリコンパイルの手順は必要ありません。Pyodide Python実行環境はWorkersランタイムによって直接提供され、JavaScriptで書かれたWorkersがすでにどのように動作するかをミラーリングします。
name = "hello-world-python-worker"
main = "src/entry.py"
compatibility_date = "2024-03-18"
compatibility_flags = ["python_workers"]
Workersが舞台裏でどのように働いているかの詳細はここでは説明しきれないため、ドキュメントをご覧いただくか、関連ブログ記事をご覧ください。
AI Gatewayは現在、Anthropic、Azure、AWS Bedrock、Google Vertex、Perplexityをサポートしています。
弊社AI Gateway製品は、分析、キャッシング、レート制限などにより、開発者によるAIアプリのより優れた制御および観察を支えています。弊社は、Anthropic、Google Vertex、Perplexityなど、より多くのプロバイダーを製品に追加し続けています。2023年12月には、大々的には公表しなかったものの、AzureとAmazon Bedrockのサポートを展開しました。つまり、Workers AI自身を含め最も人気のあるプロバイダーがAI Gatewayを介してサポートされるようになりました。
AI Gatewayを使い始めるには、開発者ドキュメントをご覧ください。
近日公開:パーシステントログ
2024年第2四半期には、ログ(プロンプトとレスポンスを含む)をオブジェクトストレージにプッシュできるパーシステントログ、ユーザーIDやその他の識別子でリクエストにタグ付けできるカスタムメタデータ、アプリケーションのAPIキーを安全に管理できるシークレットマネジメントを追加する予定です。
弊社は、AI GatewayがAIアプリのコントロールプレーンとなり、開発者がリクエストを動的に評価し、さまざまなモデルやプロバイダーにルーティングできるようにしたいと考えています。弊社パーシステントログ機能により、開発者がログデータを使ってワンクリックでモデルをファインチューニングし、最終的には私たちのWorkers AIプラットフォーム上でファインチューニングジョブとファインチューニングされたモデルを直接実行できるようにしたいと考えています。AI Gatewayは弊社AIツールキットの中の1つの製品に過ぎないものの、私たちのプラットフォーム上で構築される開発者のためのワークフローとユースケースを解き放つことになることにご期待ください。
メタデータのフィルタリングをベクトル化、将来的に100万ベクトルインデックスをGA化
Vectorizeは、AIアプリのためのツールキットのもう一つのコンポーネントです。2023年9月からオープンベータ版として提供されているVectorizeは、Workers AIのテキストエンベッディングモデルから生成されたエンベッディング(ベクトル)を開発者がパーシステント化し、類似検索やレコメンデーションなどのサポートユースケースに最も近いものをクエリできるようにします。ベクトルデータベースがなければ、モデルの出力は忘れ去られ、モデルを再実行するための呼び出しに余分なコストが必ず発生してしまいます。
Vectorizeのオープンベータ以来、メタデータフィルタリングを追加しました。メタデータフィルタリングにより、開発者はベクトル検索と任意のメタデータのフィルタリングを組み合わせることができ、AIアプリの複雑なクエリをサポートできるようになります。弊社はVectorizeを2024年6月に発売し、数百万のベクトルインデックスをサポートする予定です。
AIアプリを構築するための最も包括的な開発者プラットフォーム
// Insert vectors with metadata
const vectors: Array<VectorizeVector> = [
{
id: "1",
values: [32.4, 74.1, 3.2],
metadata: { url: "/products/sku/13913913", streaming_platform: "netflix" }
},
{
id: "2",
values: [15.1, 19.2, 15.8],
metadata: { url: "/products/sku/10148191", streaming_platform: "hbo" }
},
...
];
let upserted = await env.YOUR_INDEX.upsert(vectors);
// Query with metadata filtering
let metadataMatches = await env.YOUR_INDEX.query(<queryVector>, { filter: { streaming_platform: "netflix" }} )
Cloudflareの開発者向けプラットフォームでは、すべての開発者がフルスタックアプリを素早くビルドし出荷できるようになるべきだと考えており、これにはAI体験も含めています。Workers AIのGA化、Workers AI GatewayにおけるPythonサポートとVectorizeの発表、そしてHugging Faceとの提携により、弊社プラットフォームでAIを使って構築できるものの可能性が広がりました。ぜひ、その威力を実感してください。開発者ドキュメントをご覧いただきさっそくご利用いただき、構築したものをお知らせください。楽しみにお待ちしています。