Learn more about Search Results APIs for Model Serving

TF Servingを使用してHugging FaceでTensorFlow Visionモデルを展開する

過去数ヶ月間、Hugging Faceチームと外部の貢献者は、TransformersにさまざまなビジョンモデルをTensorFlowで追加しました。このリストは包括的に拡大しており、ビジョントランスフォーマー、マスク付きオートエンコーダー、RegNet、ConvNeXtなど、最先端の事前学習モデルがすでに含まれています! TensorFlowモデルを展開する際には、さまざまな選択肢があります。使用ケースに応じて、モデルをエンドポイントとして公開するか、アプリケーション自体にパッケージ化するかを選択できます。TensorFlowには、これらの異なるシナリオに対応するツールが用意されています。 この投稿では、TensorFlow Serving(TF Serving)を使用してローカルでビジョントランスフォーマーモデル(画像分類用)を展開する方法を紹介します。これにより、開発者はモデルをRESTエンドポイントまたはgRPCエンドポイントとして公開できます。さらに、TF Servingはモデルのウォームアップ、サーバーサイドバッチ処理など、多くの展開固有の機能を提供しています。 この投稿全体で示される完全な動作するコードを取得するには、冒頭に示されているColabノートブックを参照してください。 🤗 TransformersのすべてのTensorFlowモデルには、save_pretrained()というメソッドがあります。このメソッドを使用すると、モデルの重みをh5形式およびスタンドアロンのSavedModel形式でシリアライズできます。TF Servingでは、モデルをSavedModel形式で提供する必要があります。そこで、まずビジョントランスフォーマーモデルをロードして保存します。 from transformers import TFViTForImageClassification temp_model_dir = "vit" ckpt = "google/vit-base-patch16-224" model = TFViTForImageClassification.from_pretrained(ckpt)…

「より良いMLシステムの構築-第4章 モデルの展開とその先」

モデルを展開し、その制作を支援することは、機械学習よりもエンジニアリングに関わります機械学習のプロジェクトが制作段階に近づくにつれて、ますます多くの人々が関わってきますバックエンド...

「QLoRAを使ってLlama 2を微調整し、AWS Inferentia2を使用してAmazon SageMakerに展開する」

この記事では、パラメータ効率の良いファインチューニング(PEFT)手法を使用してLlama 2モデルを微調整し、AWS Inferentia2上でファインチューニングされたモデルを展開する方法を紹介します AWS Neuronソフトウェア開発キット(SDK)を使用してAWS Inferentia2デバイスにアクセスし、その高性能を活用しますその後、[…]の動力を得るために、大きなモデル推論コンテナを使用します

「2023年のトップ8のAIトレンド:年間レビュー」

葉っぱが金色に変わり、12月の寒さが広がる中、人工知能の領域で目覚ましい進歩が見られた今年を振り返る時が来ました。2023年は単なる進歩の年ではありませんでした。それはトライアンフの年であり、AIが成し遂げられる限界が繰り返し押し広げられ、再定義された年でした。LLM(大規模言語モデル)の能力における画期的な進展から、前例のないほど世界とのナビゲーションや相互作用が可能な自律エージェントの登場まで、この年はこの変革的な技術の無限の可能性を示すものでした。 この包括的な探求の中で、私たちは2023年のAIを定義した8つの主要なトレンドについて掘り下げ、産業を再構築し、未来を革命化する革新を明らかにしていきます。だから、AI愛好家の皆さん、私たちは技術史の記録に永遠に刻まれる一年についての旅に出発です。 RLHFとDPOの微調整 2023年は、大規模言語モデル(LLM)の能力を向上させるための重要な進展が見られました。2つの主要なアプローチが登場しました: 人間のフィードバックに基づく強化学習(RLHF):この手法は、人間のフィードバックを活用してLLMの学習プロセスをガイドし、持続的な改善と進化するユーザーのニーズや好みに対応させることができます。このインタラクティブなアプローチにより、LLMは複雑または主観的な領域において微妙な理解力と意思決定能力を開発することができます。 直接的な選好最適化(DPO)::DPOはよりシンプルな代替手法であり、明示的な強化信号を必要とせずにユーザーの選好に直接最適化します。このアプローチは効率性とスケーラビリティを重視し、より速い適応と展開を必要とするアプリケーションに最適です。そのすっきりした性格により、ユーザーフィードバックに基づいてLLMの振る舞いを迅速に調整することができ、進化する好みに合わせることができます。 RLHFとDPOはLLMの開発における重要な進展を表していますが、既存の微調整手法を置き換えるのではなく、補完するものです: 事前学習:大規模なテキストとコードのデータセットを用いてLLMを訓練し、一般的な言語理解能力を学習させること。 微調整:特定のタスクまたはデータセットに基づいてLLMをさらに訓練し、特定のドメインやアプリケーションに適した能力を調整すること。 マルチタスク学習:LLMを複数のタスクに同時に訓練することで、共有表現を学習し、各タスクのパフォーマンスを向上させること。 LLMの効率性に対処する LLMの能力が向上するにつれて、計算上の制約とリソースの限界が重要な懸念事項となりました。その結果、2023年の研究はLLMの効率性の向上に焦点を当て、以下のような技術の開発をもたらしました: FlashAttention:この革新的なアテンションメカニズムは、LLMの計算コストを大幅に削減します。これにより、より速い推論と訓練が可能になり、LLMをリソースに制約のある環境でより実用的に利用し、実世界のアプリケーションに統合することができるようになります。 LoRA および QLoRA:LoRAやQLoRAなどの手法は、2023年にも提案された軽量かつ効率的なLLMの微調整方法を提供します。これらの手法は、既存のLLMアーキテクチャに追加された小さなモジュールであるアダプターに依存し、再トレーニングすることなくカスタマイズを可能にします。これにより、著しい効率の向上、より速い展開時間、さまざまなタスクへの適応性の向上が実現されます。 これらの進展は、効率的なLLMへの需要の増大に対応し、この強力な技術への広範な導入の道を開き、結果としてこの技術へのアクセスを民主化することにつながります。 検索補完生成(RAG)の浸透 純LLMは巨大な可能性を秘めていますが、それらの正確性と実証的根拠に関する懸念は依然として存在しています。検索補完生成(RAG)は、既存のデータや知識ベースとLLMを組み合わせることで、これらの懸念に対処する有望な解決策として登場しました。このハイブリッドアプローチにはいくつかの利点があります: エラーの減少:外部情報から事実情報を取り込むことにより、RAGモデルはより正確で信頼性のある出力を生成することができます。 拡張性の向上:RAGモデルは純LLMに必要な大規模なトレーニングリソースの必要性を排除し、大規模なデータセットに適用することができます。 低コスト:既存の知識リソースを利用することにより、LLMのトレーニングおよび実行に関連する計算コストを削減することができます。 これらの利点により、RAGは検索エンジン、チャットボット、コンテンツ生成など、さまざまなアプリケーションにおける貴重なツールとして位置付けられています。 自律エージェント…

パフォーマンスの向上と最適化されたリソース使用のためのダイナミックなLoRAローディング

私たちは、拡散モデルに基づくLoRAのハブ内の推論速度を大幅に高速化することができました。これにより、計算リソースを節約し、より良いユーザーエクスペリエンスを提供することができました。 モデルへの推論を行うには、2つのステップがあります: ウォームアップフェーズ – モデルのダウンロードとサービスのセットアップ(25秒)。 推論ジョブ自体(10秒)。 これらの改善により、ウォームアップ時間を25秒から3秒に短縮することができました。数百の異なるLoRAに対する推論を、たった5つのA10G GPU以下で提供することができます。さらに、ユーザーリクエストへの応答時間は35秒から13秒に短縮されました。 一つのサービスで多くの異なるLoRAを動的に提供するために、Diffusersライブラリで開発された最近の機能を活用する方法についてもっと話しましょう。 LoRA LoRAは「パラメータ効率」(PEFT)メソッドの一環である、微調整技術です。このメソッドは、微調整プロセスによって影響を受けるトレーニング可能なパラメータの数を減らすことを試みます。微調整の速度を高めながら、微調整済みチェックポイントのサイズを減らすことができます。 モデルの全ての重みに微小な変更を行うことによってモデルを微調整する代わりに、ほとんどの層を固定し、注意ブロック内の特定の一部の層のみをトレーニングします。さらに、これらの層のパラメータに触れず、二つの小さな行列の積を元の重みに加えることで、これらの層のパラメータを更新します。これらの小さな行列は微調整プロセス中に更新され、ディスクに保存されます。これにより、元のモデルのパラメータはすべて保存され、適応方法を使用してLoRAの重みを上にロードすることができます。 LoRA(Low Rank Adaptation)という名前は、先ほど言及した小さな行列から来ています。このメソッドについての詳細は、この記事または元の論文をご覧ください。 上記の図は、LoRAアダプタの一部として保存される二つの小さなオレンジ色の行列を示しています。後でこれらのLoRAアダプタをロードし、青いベースモデルと結合して黄色の微調整モデルを取得することができます。重要なことは、アダプタをアンロードすることも可能なので、いつでも元のベースモデルに戻すことができるということです。 言い換えると、LoRAアダプタは、必要に応じて追加および削除が可能なベースモデルのアドオンのようなものです。AとBの小さなランクのため、モデルサイズと比較して非常に軽量です。したがって、ロード時間は全体のベースモデルをロードするよりもはるかに高速です。 例えば、多くのLoRAアダプタのベースモデルとして広く使用されているStable Diffusion XL Base 1.0モデルリポジトリを見ると、そのサイズは約7 GBです。しかし、このモデルのような典型的なLoRAアダプタは、わずか24 MBのスペースしか使用しません!…

「包括的な時系列探索的分析」

「ここにはタイムスタンプでインデックスされたデータセットがありますデータはストレージの需要と供給に関するものかもしれませんが、あなたは戦略的な製品の適切な補充間隔を予測することが求められています...」

「5つの手順でGoogle Cloud Platformを始める」

「アカウントのセットアップからモデルの展開まで、データサイエンスと機械学習のためのGoogle Cloud Platformの必須要素を、実践的なプロジェクトの例を交えて探索してください」

「Amazon EC2 Inf1&Inf2インスタンス上のFastAPIとPyTorchモデルを使用して、AWS Inferentiaの利用を最適化する」

「ディープラーニングモデルを大規模に展開する際には、パフォーマンスとコストのメリットを最大限に引き出すために、基盤となるハードウェアを効果的に活用することが重要です高スループットと低レイテンシーを必要とするプロダクションワークロードでは、Amazon Elastic Compute Cloud(EC2)インスタンス、モデルの提供スタック、展開アーキテクチャの選択が非常に重要です効率の悪いアーキテクチャは[…]」

Hugging Face Transformersでより高速なTensorFlowモデル

ここ数か月、Hugging FaceチームはTransformersのTensorFlowモデルの改良に取り組んできました。目標はより堅牢で高速なモデルを実現することです。最近の改良は主に次の2つの側面に焦点を当てています: 計算パフォーマンス:BERT、RoBERTa、ELECTRA、MPNetの計算時間を大幅に短縮するための改良が行われました。この計算パフォーマンスの向上は、グラフ/イージャーモード、TF Serving、CPU/GPU/TPUデバイスのすべての計算アスペクトで顕著に見られます。 TensorFlow Serving:これらのTensorFlowモデルは、TensorFlow Servingを使用して展開することができ、推論においてこの計算パフォーマンスの向上を享受することができます。 計算パフォーマンス 計算パフォーマンスの向上を実証するために、v4.2.0のTensorFlow ServingとGoogleの公式実装との間でBERTのパフォーマンスを比較するベンチマークを実施しました。このベンチマークは、GPU V100上でシーケンス長128を使用して実行されました(時間はミリ秒単位で表示されます): v4.2.0の現行のBertの実装は、Googleの実装よりも最大で約10%高速です。また、4.1.1リリースの実装よりも2倍高速です。 TensorFlow Serving 前のセクションでは、Transformersの最新バージョンでブランドニューのBertモデルが計算パフォーマンスが劇的に向上したことを示しました。このセクションでは、製品環境で計算パフォーマンスの向上を活用するために、TensorFlow Servingを使用してBertモデルを展開する手順をステップバイステップで説明します。 TensorFlow Servingとは何ですか? TensorFlow Servingは、モデルをサーバーに展開するタスクをこれまで以上に簡単にするTensorFlow Extended(TFX)が提供するツールの一部です。TensorFlow Servingには、HTTPリクエストを使用して呼び出すことができるAPIと、サーバー上で推論を実行するためにgRPCを使用するAPIの2つがあります。 SavedModelとは何ですか? SavedModelには、ウェイトとアーキテクチャを含むスタンドアロンのTensorFlowモデルが含まれています。SavedModelは、モデルの元のソースを実行する必要がないため、Java、Go、C++、JavaScriptなどのSavedModelを読み込むバックエンドをサポートするすべてのバックエンドと共有または展開するために役立ちます。SavedModelの内部構造は次のように表されます:…

Google Cloudを使用してレコメンドシステムを構築する

Google CloudのRecommendation AIを使用して、高度な推薦システムを実装してください

Find the right Blockchain Investment for you

Web 3.0 is coming, whether buy Coins, NFTs or just Coding, everyone can participate.

Advertising with us