Learn more about Search Results huggingface.co - Page 10

推論エンドポイントを使用して、短時間でMusicGenを展開する

MusicGenは、テキストのプロンプトとオプションのメロディを入力として、音楽を出力する強力な音楽生成モデルです。このブログポストでは、MusicGenを使用して音楽を生成する方法をInference Endpointsを使用して説明します。 Inference Endpointsを使用すると、カスタムハンドラと呼ばれるカスタム推論関数を記述することができます。これは、モデルがtransformersの高レベル抽象pipelineで直接サポートされていない場合に特に便利です。 transformersのパイプラインは、transformersベースのモデルを使用して推論を実行するための強力な抽象化を提供しています。Inference Endpointsは、わずか数回のクリックでモデルを簡単にデプロイするために、パイプラインAPIを活用しています。ただし、Inference Endpointsは、パイプラインを持たないモデルや、さらには非トランスフォーマーモデルをデプロイするためにも使用できます。これは、カスタムハンドラと呼ばれるカスタム推論関数を使用して実現されます。 これをMusicGenの例を使用してプロセスをデモンストレーションしましょう。MusicGenのカスタムハンドラ関数を実装してデプロイするためには、以下の手順が必要です: 提供したいMusicGenリポジトリを複製する。 handler.pyとrequirements.txtにカスタムハンドラとその依存関係を記述し、複製したリポジトリに追加する。 そのリポジトリにInference Endpointを作成する。 または、単に最終結果を使用してカスタムのMusicGenモデルリポジトリをデプロイすることもできます。その場合は、上記の手順に従うだけです 🙂 さあ、始めましょう! まず、facebook/musicgen-largeリポジトリを自分のプロフィールに複製します。 次に、handler.pyとrequirements.txtを複製したリポジトリに追加します。まず、MusicGenでの推論の実行方法を見てみましょう。 from transformers import AutoProcessor, MusicgenForConditionalGeneration processor =…

FHEを用いた暗号化された大規模言語モデルに向けて

大規模言語モデル(LLM)は最近、プログラミング、コンテンツ作成、テキスト分析、ウェブ検索、遠隔学習などの多くの分野で生産性を向上させるための信頼性のあるツールとして証明されています。 大規模言語モデルがユーザーのプライバシーに与える影響 LLMの魅力にもかかわらず、これらのモデルによって処理されるユーザークエリに関するプライバシーの懸念が残っています。一方で、LLMの能力を活用することは望ましいですが、他方で、LLMサービスプロバイダーに対して機密情報が漏洩するリスクがあります。医療、金融、法律などの一部の分野では、このプライバシーリスクは問題の原因となります。 この問題への1つの解決策は、オンプレミス展開です。オンプレミス展開では、LLMの所有者がクライアントのマシンにモデルを展開します。これは、LLMの構築に数百万ドル(GPT3の場合は4.6Mドル)かかるため、最適な解決策ではありません。また、オンプレミス展開では、モデルの知的財産(IP)が漏洩するリスクがあります。 Zamaは、ユーザーのプライバシーとモデルのIPの両方を保護できると考えています。このブログでは、Hugging Face transformersライブラリを活用して、モデルの一部を暗号化されたデータ上で実行する方法を紹介します。完全なコードは、このユースケースの例で見つけることができます。 完全同型暗号(FHE)はLLMのプライバシーの課題を解決できます ZamaのLLM展開の課題に対する解決策は、完全同型暗号(FHE)を使用することです。これにより、暗号化されたデータ上で関数の実行が可能となります。モデルの所有者のIPを保護しながら、ユーザーのデータのプライバシーを維持することが可能です。このデモでは、FHEで実装されたLLMモデルが元のモデルの予測の品質を維持していることを示しています。これを行うためには、Hugging Face transformersライブラリのGPT2の実装を適応し、Concrete-Pythonを使用してPython関数をそのFHE相当に変換する必要があります。 図1は、GPT2のアーキテクチャを示しています。これは繰り返し構造を持ち、連続的に適用される複数のマルチヘッドアテンション(MHA)レイヤーから成り立っています。各MHAレイヤーは、モデルの重みを使用して入力をプロジェクションし、アテンションメカニズムを計算し、アテンションの出力を新しいテンソルに再プロジェクションします。 TFHEでは、モデルの重みと活性化は整数で表現されます。非線形関数はプログラマブルブートストラッピング(PBS)演算で実装する必要があります。PBSは、暗号化されたデータ上でのテーブルルックアップ(TLU)演算を実装し、同時に暗号文をリフレッシュして任意の計算を可能にします。一方で、PBSの計算時間は線形演算の計算時間を上回ります。これらの2つの演算を活用することで、FHEでLLMの任意のサブパート、または、全体の計算を表現することができます。 FHEを使用したLLMレイヤーの実装 次に、マルチヘッドアテンション(MHA)ブロックの単一のアテンションヘッドを暗号化する方法を見ていきます。また、このユースケースの例では、完全なMHAブロックの例も見つけることができます。 図2は、基礎となる実装の簡略化された概要を示しています。クライアントは、共有モデルから削除された最初のレイヤーまでの推論をローカルで開始します。ユーザーは中間操作を暗号化してサーバーに送信します。サーバーは一部のアテンションメカニズムを適用し、その結果をクライアントに返します。クライアントはそれらを復号化してローカルの推論を続けることができます。 量子化 まず、暗号化された値上でモデルの推論を実行するために、モデルの重みと活性化を量子化し、整数に変換する必要があります。理想的には、モデルの再トレーニングを必要としない事後トレーニング量子化を使用します。このプロセスでは、FHE互換のアテンションメカニズムを実装し、整数とPBSを使用し、LLMの精度への影響を検証します。 量子化の影響を評価するために、暗号化されたデータ上で1つのLLMヘッドが動作する完全なGPT2モデルを実行します。そして、重みと活性化の量子化ビット数を変化させた場合の精度を評価します。 このグラフは、4ビットの量子化が元の精度の96%を維持していることを示しています。この実験は、約80の文章からなるデータセットを使用して行われます。メトリクスは、元のモデルのロジット予測と量子化されたヘッドモデルを比較して計算されます。 Hugging Face GPT2モデルにFHEを適用する Hugging…

「Huggy Lingo:Hugging Face Hubで言語メタデータを改善するための機械学習の利用」

Huggy Lingo: Hugging Face Hubで言語メタデータを改善するために機械学習を使用する 要約: 私たちは機械学習を使用して、言語メタデータのないHubデータセットの言語を検出し、このメタデータを追加するために司書ボットがプルリクエストを行っています。 Hugging Face Hubは、コミュニティが機械学習モデル、データセット、アプリケーションを共有するリポジトリとなっています。データセットの数が増えるにつれて、メタデータは自分のユースケースに適したリソースを見つけるための重要なツールとなっています。 このブログ投稿では、Hugging Face Hubでホストされるデータセットのメタデータを改善するために機械学習を使用したいくつかの初期実験を共有します。 Hub上のデータセットの言語メタデータ Hugging Face Hubには現在約50,000の公開データセットがあります。データセットで使用される言語に関するメタデータは、データセットカードの先頭にあるYAMLフィールドを使用して指定することができます。 すべての公開データセットは、メタデータ内の言語タグを使用して1,716の一意の言語を指定しています。ただし、指定される言語のいくつかは、異なる方法で指定されることになります。たとえば、IMDBデータセットでは、YAMLメタデータにen(英語を示す)が指定されています。 IMDBデータセットのYAMLメタデータのセクション 英語がHub上のデータセットで遥かに最も一般的な言語であることは驚くべきことではありません。Hub上のデータセットの約19%が言語をenとしてリストしています(enのバリエーションを含めない場合であり、実際の割合はおそらくはるかに高いでしょう)。 Hugging Face Hub上のデータセットの頻度とパーセンテージ頻度 英語を除外した場合、言語の分布はどのようになりますか?いくつかの支配的な言語のグループがあり、その後は言語が出現する頻度が比較的滑らかに減少していることがわかります。…

「SD-Small」と「SD-Tiny」の知識蒸留コードと重みのオープンソース化

近年、AIコミュニティでは、Falcon 40B、LLaMa-2 70B、Falcon 40B、MPT 30Bなど、より大きく、より高性能な言語モデルの開発が著しく進んでいます。また、SD2.1やSDXLなどの画像領域のモデルでも同様です。これらの進歩は、AIが達成できることの境界を押し広げ、高度に多様かつ最先端の画像生成および言語理解の能力を可能にしています。しかし、これらのモデルのパワーと複雑さを驚嘆しながらも、AIモデルをより小さく、効率的に、そしてよりアクセスしやすくするという成長するニーズの認識が不可欠です。特に、オープンソース化によってこれらのモデルを利用可能にすることが求められています。 Segmindでは、生成型AIモデルをより速く、安価にする方法に取り組んできました。昨年、voltaMLという加速されたSD-WebUIライブラリをオープンソース化しました。これはAITemplate/TensorRTベースの推論高速化ライブラリであり、推論速度が4~6倍向上しました。生成モデルをより速く、小さく、安価にする目標に向けて、私たちは圧縮されたSDモデル「SD-Small」と「SD-Tiny」の重みとトレーニングコードをオープンソース化しています。事前学習済みのチェックポイントはHuggingfaceで利用可能です🤗 知識蒸留 私たちの新しい圧縮モデルは、知識蒸留(KD)技術に基づいてトレーニングされており、この論文に大きく依存しています。著者は、いくつかのUNetレイヤーを削除し、学習された生徒モデルの重みを説明したブロック除去知識蒸留法について説明しています。論文で説明されているKDの手法を使用して、圧縮モデル2つをトレーニングしました。🧨 diffusersライブラリを使用してトレーニングした「Small」と「Tiny」は、ベースモデルと比較してそれぞれ35%と55%少ないパラメータを持っており、ベースモデルと同様の画像品質を実現しています。私たちはこのリポジトリで蒸留コードをオープンソース化し、Huggingfaceで事前学習済みのチェックポイントを提供しています🤗 ニューラルネットワークの知識蒸留トレーニングは、先生が生徒をステップバイステップで指導するのと似ています。大きな先生モデルは大量のデータで事前トレーニングされ、その後、より小さなモデルは小規模なデータセットでトレーニングされ、クラシカルなトレーニングと共に、大きなモデルの出力を模倣するようになります。 この特定の種類の知識蒸留では、生徒モデルは通常の拡散タスクである純粋なノイズからの画像の復元を行うようにトレーニングされますが、同時に、モデルは大きな先生モデルの出力と一致するようになります。出力の一致はU-netの各ブロックで行われるため、モデルの品質はほとんど保たれます。したがって、前述のアナロジーを使用すると、このような蒸留中、生徒は質問と回答だけでなく、先生の回答からも学び、回答に至る方法もステップバイステップで学ぼうとします。これを達成するために、損失関数には3つのコンポーネントがあります。まず、ターゲット画像の潜在変数と生成された画像の潜在変数の間の従来の損失です。次に、先生が生成した画像の潜在変数と生徒が生成した画像の潜在変数の間の損失です。そして最後に、最も重要なコンポーネントであるフィーチャーレベルの損失です。これは、先生と生徒の各ブロックの出力の間の損失です。 これらすべてを組み合わせて、知識蒸留トレーニングが成り立ちます。以下は、論文「テキストから画像への拡散モデルのアーキテクチャ圧縮について」(Shinkookら)からのアーキテクチャの例です。 画像はShinkookらによる論文「テキストから画像への拡散モデルのアーキテクチャ圧縮について」から取得 私たちは、ベースとなる先生モデルとしてRealistic-Vision 4.0を選び、高品質な画像の説明を持つLAION Art Aestheticデータセットでトレーニングしました(画像スコアが7.5以上のもの)。論文とは異なり、私たちはSmallモードでは100Kステップ、Tinyモードでは125Kステップで1M枚の画像で2つのモデルをトレーニングしました。蒸留トレーニングのコードはこちらで見つけることができます。 モデルの使用方法 モデルは🧨 diffusersのDiffusionPipelineを使用して利用できます from diffusers import DiffusionPipeline…

実践的な3Dアセット生成:ステップバイステップガイド

イントロダクション 生成AIは、ゲーム開発の芸術的なワークフローの重要な一部となっています。しかし、私の以前の記事で詳しく説明したように、テキストから3Dへの変換は2Dに比べて実用性が劣っています。しかし、これは変わり始めています。今日は、3Dアセット生成の実用的なワークフローを見直し、Generative AIをPS1スタイルの3Dワークフローに統合する方法をステップバイステップで見ていきます。 なぜPS1スタイルなのか?現在のテキストから3Dモデルへの変換の低保真度に対して非常に寛容であり、できるだけ少ない努力でテキストから使用可能な3Dアセットに変換することができるからです。 前提条件 このチュートリアルでは、BlenderとマテリアルやUVマッピングなどの3Dの基本的な知識があることを前提としています。 ステップ1:3Dモデルを生成する まず、ここまたは下にあるShap-E Hugging Face Spaceを訪れてください。このスペースでは、オープンソースのShap-Eモデルを使用して、テキストから3Dモデルを生成します。 プロンプトに「Dilapidated Shack」と入力し、「Generate」をクリックしてください。モデルに満足したら、次のステップのためにダウンロードしてください。 ステップ2:モデルをインポートしてダウンサンプリングする 次に、Blender(バージョン3.1以上)を開いてください。ファイル -> インポート -> GLTF 2.0に移動し、ダウンロードしたファイルをインポートしてください。多くの実用的なアプリケーション(ゲームなど)に推奨されるよりも多くのポリゴンを持っていることに気付くかもしれません。 ポリゴン数を削減するには、モディファイアに移動して、「Decimate」モディファイアを選択します。比率を低い数値(例:0.02)に調整します。これはあまり見栄えがしないかもしれません。しかし、このチュートリアルでは低保真度を受け入れることにします。 ステップ3:Dream Texturesをインストールする モデルにテクスチャを追加するために、Blender用の安定した拡散テクスチャ生成ツールであるDream…

Macでの安定したDiffusion XLと高度なCore ML量子化

Stable Diffusion XLは昨日リリースされ、素晴らしいです。大きな(1024×1024)高品質の画像を生成することができます。新しいトリックにより、プロンプトへの適合性が向上しました。最新のノイズスケジューラの研究により、非常に暗いまたは非常に明るい画像を簡単に生成することができます。さらに、オープンソースです! 一方、モデルはより大きくなり、したがって一般的なハードウェアでの実行が遅くなり、困難になりました。Hugging Faceのdiffusersライブラリの最新リリースを使用すると、16 GBのGPU RAMでCUDAハードウェア上でStable Diffusion XLを実行できるため、Colabの無料層で使用することができます。 過去数か月間、人々がさまざまな理由でローカルでMLモデルを実行することに非常に興味を持っていることが明確になってきました。これにはプライバシー、利便性、簡単な実験、または利用料金がかからないことなどが含まれます。AppleとHugging Faceの両方でこの領域を探索するために、私たちは一生懸命取り組んできました。私たちはApple SiliconでStable Diffusionを実行する方法を示したり、Core MLの最新の進化を利用してサイズとパフォーマンスを改善するための6ビットのパレット化を紹介したりしました。 Stable Diffusion XLでは、次のようなことを行いました: ベースモデルをCore MLにポートし、ネイティブのSwiftアプリで使用できるようにしました。 Appleの変換および推論リポジトリを更新し、興味のあるファインチューニングを含むモデルを自分で変換できるようにしました。 Hugging Faceのデモアプリを更新し、Hubからダウンロードした新しいCore ML Stable…

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

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

Agents.jsをご紹介します:JavaScriptを使用して、あなたのLLMにツールを提供します

最近、私たちはhuggingface.jsでAgents.jsに取り組んでいます。これはJavaScriptからLLMsに対するツールアクセスを提供するための新しいライブラリで、ブラウザまたはサーバーのどちらでも使用できます。デフォルトでいくつかのマルチモーダルツールが付属しており、独自のツールや言語モデルで簡単に拡張することができます。 インストール 始めるのは非常に簡単です。次のコマンドでnpmからライブラリを取得できます: npm install @huggingface/agents 使用方法 このライブラリはHfAgentオブジェクトを公開しており、これがライブラリへのエントリーポイントです。次のようにインスタンス化することができます: import { HfAgent } from "@huggingface/agents"; const HF_ACCESS_TOKEN = "hf_..."; // https://huggingface.co/settings/tokensでトークンを取得してください const agent = new…

DPT(Depth Prediction Transformers)を使用した画像の深度推定

イントロダクション 画像の深度推定は、画像内のオブジェクトがどれだけ遠いかを把握することです。これは、3Dモデルの作成、拡張現実、自動運転などのコンピュータビジョンの重要な問題です。過去には、ステレオビジョンや特殊センサなどの技術を使用して深度を推定していました。しかし、今では、ディープラーニングを利用するDepth Prediction Transformers(DPT)と呼ばれる新しい方法があります。 DPTは、画像を見ることで深度を推定することができるモデルの一種です。この記事では、実際のコーディングを通じてDPTの動作原理、その有用性、およびさまざまなアプリケーションでの利用方法について詳しく学びます。 学習目標 密な予測トランスフォーマ(DPT)の概念と画像の深度推定における役割。 ビジョントランスフォーマとエンコーダーデコーダーフレームワークの組み合わせを含むDPTのアーキテクチャの探索。 Hugging Faceトランスフォーマライブラリを使用したDPTタスクの実装。 さまざまな領域でのDPTの潜在的な応用の認識。 この記事はData Science Blogathonの一部として公開されました。 深度推定トランスフォーマの理解 深度推定トランスフォーマ(DPT)は、画像内のオブジェクトの深度を推定するために特別に設計されたディープラーニングモデルの一種です。DPTは、元々言語データの処理に開発されたトランスフォーマと呼ばれる特殊なアーキテクチャを利用して、ビジュアルデータを処理するために適応し適用します。DPTの主な強みの1つは、画像のさまざまな部分間の複雑な関係をキャプチャし、長距離にわたる依存関係をモデル化する能力です。これにより、DPTは画像内のオブジェクトの深度や距離を正確に予測することができます。 深度推定トランスフォーマのアーキテクチャ 深度推定トランスフォーマ(DPT)は、ビジョントランスフォーマをエンコーダーデコーダーフレームワークと組み合わせて画像の深度を推定します。エンコーダーコンポーネントは、セルフアテンションメカニズムを使用して特徴をキャプチャしてエンコードし、画像のさまざまな部分間の関係を理解する能力を向上させます。これにより、細かい詳細を捉えることができます。デコーダーコンポーネントは、エンコードされた特徴を元の画像空間にマッピングすることで密な深度予測を再構築し、アップサンプリングや畳み込み層のような手法を利用します。DPTのアーキテクチャにより、モデルはシーンのグローバルなコンテキストを考慮し、異なる画像領域間の依存関係をモデル化することができます。これにより、正確な深度予測が可能になります。 要約すると、DPTはビジョントランスフォーマとエンコーダーデコーダーフレームワークを組み合わせて画像の深度を推定します。エンコーダーは特徴をキャプチャし、セルフアテンションメカニズムを使用してそれらをエンコードし、デコーダーは密な深度予測を再構築します。このアーキテクチャにより、DPTは細かい詳細を捉え、グローバルなコンテキストを考慮し、正確な深度予測を生成することができます。 Hugging Face Transformerを使用したDPTの実装 Hugging Faceパイプラインを使用してDPTの実践的な実装を見ていきます。コードの全体はこちらでご覧いただけます。…

1時間以内に初めてのディープラーニングアプリを作成しましょう

私はもう10年近くデータ分析をしています時折、データから洞察を得るために機械学習の技術を使用しており、クラシックな機械学習を使うことにも慣れています

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