Learn more about Search Results プルリクエスト - Page 5

非常に大規模な言語モデルとその評価方法

大規模な言語モデルは、Evaluation on the Hubを使用してゼロショット分類タスクで評価することができます! ゼロショット評価は、大規模な言語モデルの性能を測定するための研究者の人気のある方法であり、明示的にラベル付けされた例を示すことなくトレーニング中に能力を学習することが示されています。Inverse Scaling Prizeは、大規模なゼロショット評価を実施し、より大きなモデルがより小さなモデルよりも性能が低いタスクを発見するための最近のコミュニティの取り組みの一例です。 ハブ上での言語モデルのゼロショット評価の有効化 Evaluation on the Hubは、コードを書かずにHub上の任意のモデルを評価するのに役立ち、AutoTrainによって動作します。今では、Hub上の任意の因果言語モデルをゼロショットで評価することができます。ゼロショット評価は、トレーニングされたモデルが与えられたトークンセットを生成する可能性を測定し、ラベル付けされたトレーニングデータを必要としないため、研究者は高価なラベリング作業を省略することができます。 このプロジェクトのために、AutoTrainのインフラストラクチャをアップグレードし、大規模なモデルを無償で評価することができるようにしました 🤯!ユーザーがカスタムコードを書いてGPU上で大規模なモデルを評価する方法を見つけるのは高価で時間がかかるため、これらの変更により、660億のパラメータを持つ言語モデルを2000の文長のゼロショット分類タスクで評価するのに3.5時間かかり、コミュニティ内の誰でも実行できるようになりました。Evaluation on the Hubでは現在、660億のパラメータまでのモデルの評価をサポートしており、より大きなモデルのサポートも今後提供される予定です。 ゼロショットテキスト分類タスクは、プロンプトと可能な補完を含むデータセットを受け取ります。補完はプロンプトと連結され、各トークンの対数確率が合計され、正しい補完と比較するために正規化され、タスクの正確性が報告されます。 このブログ記事では、WinoBiasという職業に関連するジェンダーバイアスを測定する共参照タスクにおいて、ゼロショットテキスト分類タスクを使用してさまざまなOPTモデルを評価します。WinoBiasは、モデルが職業を言及する文章においてステレオタイプな代名詞を選ぶ可能性が高いかどうかを測定し、結果はモデルのサイズに関して逆のスケーリング傾向を示していることがわかります。 事例研究:WinoBiasタスクへのゼロショット評価 WinoBiasデータセットは、補完の選択肢が分類オプションであるゼロショットタスクとしてフォーマットされています。各補完は代名詞によって異なり、対象は職業に対して反ステレオタイプ的な補完に対応します(例:「開発者」は男性が主導するステレオタイプ的な職業なので、「彼女」が反ステレオタイプ的な代名詞になります)。例はこちらをご覧ください: 次に、Evaluation on the…

GPT2からStable Diffusionへ:Hugging FaceがElixirコミュニティに参入します

エリクサーのコミュニティは、GPT2からStable Diffusionまでのいくつかのニューラルネットワークモデルがエリクサーに到着したことをお知らせいたします。これは、Hugging Face Transformersを純粋なエリクサーで実装したBumblebeeライブラリによって可能になりました。 これらのモデルで始めるために、エリクサーの計算ノートブックプラットフォームであるLivebookのチームが、「スマートセル」と呼ばれるコレクションを作成しました。これにより、開発者はわずか3回のクリックで異なるニューラルネットワークタスクのスキャフォールドを作成できます。詳細については、私のビデオアナウンスをご覧ください。 エリクサーが実行されるErlang仮想マシンの並行性と分散サポートのおかげで、開発者はこれらのモデルを既存のPhoenixウェブアプリケーションの一部として埋め込み、提供することができます。また、Broadwayを使用してデータ処理パイプラインに統合し、Nerves組み込みシステムと一緒にデプロイすることもできます。いずれのシナリオでも、BumblebeeモデルはCPUとGPUの両方にコンパイルされます。 背景 エリクサーに機械学習を導入する取り組みは、ほぼ2年前にNumerical Elixir(Nx)プロジェクトで始まりました。Nxプロジェクトは、マルチ次元テンソルと「数値定義」を実装しています。これは、CPU/GPUにコンパイルできるElixirのサブセットです。Nxは、Google XLA(EXLA)とLibtorch(Torchx)のバインディングを使用して、車輪の再発明を防いでいます。 Nxイニシアチブからは、他のいくつかのプロジェクトが生まれました。Axonは、FlaxやPyTorch Igniteなどのプロジェクトからインスピレーションを受け、エリクサーに機能的で組み合わせ可能なニューラルネットワークをもたらします。Explorerプロジェクトは、dplyrとRustのPolarsから借用して、エリクサーコミュニティに表現力豊かで高性能なデータフレームを提供します。 BumblebeeとTokenizersは、私たちが最近リリースしたものです。私たちは、Hugging Faceがコミュニティとツール間での協力的な機械学習を可能にすることに感謝しています。これは、エリクサーエコシステムを迅速に進化させる上で重要な役割を果たしました。 次に、エリクサーでのニューラルネットワークのトレーニングと転移学習に焦点を当てる予定です。これにより、開発者は事業やアプリケーションのニーズに合わせて事前学習済みモデルを拡張および特化することができます。また、伝統的な機械学習アルゴリズムの開発についても、さらに発表する予定です。 あなたの番です Bumblebeeを試してみたい場合は、次のことができます: Livebook v0.8をダウンロードし、ノートブック内の「+ Smart」セルメニューから「ニューラルネットワークタスク」を自動生成します。現在、Livebookを追加のプラットフォームとスペースで実行できるようにする作業を進めています(お楽しみに!😉)。 Bumblebeeモデルの例として、単一ファイルのPhoenixアプリケーションも作成しました。これは、Phoenix(+ LiveView)アプリケーションの一部として統合するための必要な基盤を提供します。 より実践的なアプローチに興味がある場合は、いくつかのノートブックを読んでみてください。 エリクサーの機械学習エコシステムの構築を支援したい場合は、上記のプロジェクトをチェックして試してみてください。コンパイラ開発からモデル構築まで、多くの興味深い領域があります。たとえば、Bumblebeeにさらにモデルやアーキテクチャを追加するプルリクエストは、歓迎されるでしょう。未来は並行、分散、そして楽しいです!

効率的で安定した拡散微調整のためのLoRAの使用

LoRA:Large Language Modelsの低ランク適応は、Microsoftの研究者によって導入された新しい技術で、大規模言語モデルの微調整の問題に取り組むためのものです。GPT-3などの数十億のパラメータを持つ強力なモデルは、特定のタスクやドメインに適応させるために微調整することが非常に高価です。LoRAは、事前学習済みモデルの重みを凍結し、各トランスフォーマーブロックにトレーニング可能な層(ランク分解行列)を注入することを提案しています。これにより、トレーニング可能なパラメータとGPUメモリの要件が大幅に削減されます。なぜなら、ほとんどのモデルの重みの勾配を計算する必要がないからです。研究者たちは、大規模言語モデルのトランスフォーマーアテンションブロックに焦点を当てることで、LoRAと完全なモデルの微調整と同等の品質を実現できることを発見しました。さらに、LoRAはより高速で計算量が少なくなります。 DiffusersのためのLoRA 🧨 LoRAは、当初大規模言語モデルに提案され、トランスフォーマーブロック上でデモンストレーションされたものですが、この技術は他の場所でも適用することができます。Stable Diffusionの微調整の場合、LoRAは画像表現とそれらを説明するプロンプトとの関連付けを行うクロスアテンションレイヤーに適用することができます。以下の図(Stable Diffusion論文から引用)の詳細は重要ではありませんが、黄色のブロックが画像とテキスト表現の関係を構築する役割を担っていることに注意してください。 私たちの知る限りでは、Simo Ryu(@cloneofsimo)がStable Diffusionに適応したLoRAの実装を最初に考案しました。興味深いディスカッションや洞察がたくさんあるGitHubのプロジェクトをご覧いただくために、彼らのGitHubプロジェクトをぜひご覧ください。 クロスアテンションレイヤーにLoRAトレーニング可能行列を深く注入するために、以前はDiffusersのソースコードを工夫(しかし壊れやすい方法)してハックする必要がありました。Stable Diffusionが私たちに示してくれたことの一つは、コミュニティが常に創造的な目的のためにモデルを曲げて適応する方法を見つけ出すことです。クロスアテンションレイヤーを操作する柔軟性を提供することは、xFormersなどの最適化技術を採用するのが容易になるなど、他の多くの理由で有益です。Prompt-to-Promptなどの創造的なプロジェクトには、これらのレイヤーに簡単にアクセスできる方法が必要です。そのため、ユーザーがこれを行うための一般的な方法を提供することにしました。私たちは昨年12月末からそのプルリクエストをテストしており、昨日のdiffusersリリースと共に公式にローンチしました。 私たちは@cloneofsimoと協力して、Dreamboothと完全な微調整方法の両方でLoRAトレーニングサポートを提供しています!これらの技術は次の利点を提供します: 既に議論されているように、トレーニングがはるかに高速です。 計算要件が低くなります。11 GBのVRAMを持つ2080 Tiで完全な微調整モデルを作成できました! トレーニングされた重みははるかに小さくなります。元のモデルが凍結され、新しいトレーニング可能な層が注入されるため、新しい層の重みを1つのファイルとして保存できます。そのサイズは約3 MBです。これは、UNetモデルの元のサイズの約1000分の1です。 私たちは特に最後のポイントに興奮しています。ユーザーが素晴らしい微調整モデルやドリームブーストモデルを共有するためには、最終モデルの完全なコピーを共有する必要がありました。それらを試すことを望む他のユーザーは、お気に入りのUIで微調整された重みをダウンロードする必要があり、膨大なストレージとダウンロードコストがかかります。現在、Dreamboothコンセプトライブラリには約1,000のDreamboothモデルが登録されており、おそらくさらに多くのモデルがライブラリに登録されていません。 LoRAを使用することで、他の人があなたの微調整モデルを使用できるようにするためのたった1つの3.29 MBのファイルを公開することができるようになりました。 (@mishig25への感謝、普通の会話で「dreamboothing」という動詞を使った最初の人です)。…

時間をかけて生存者を助け、機械学習を利用して競争する

2023年2月6日、トルコ南東部でマグニチュード7.7と7.6の地震が発生し、10の都市に影響を及ぼし、2月21日現在で4万2000人以上が死亡し、12万人以上が負傷しました。 地震の数時間後、プログラマーのグループが「アフェタリタ」と呼ばれるアプリケーションを展開するためのDiscordサーバーを立ち上げました。このアプリケーションは、捜索救助チームとボランティアが生存者を見つけて支援するために使用されます。このようなアプリの必要性は、生存者が自分の住所や必要なもの(救助を含む)をテキストのスクリーンショットとしてソーシャルメディアに投稿したことから生じました。一部の生存者は、自分が生きていることと救助を必要としていることを、ツイートで伝え、それにより親族が知ることができました。これらのツイートから情報を抽出する必要があり、私たちはこれらを構造化されたデータに変換するためのさまざまなアプリケーションを開発し、展開するために時間との競争をしました。 Discordサーバーに招待されたとき、私たちは(ボランティアとして)どのように運営し、何をするかについてかなりの混乱がありました。私たちは共同でモデルをトレーニングするために、モデルとデータセットのレジストリが必要でした。私たちはHugging Faceの組織アカウントを開設し、MLベースのアプリケーションを受け取り、情報を処理するためのプルリクエストを通じて共同作業しました。 他のチームのボランティアから、スクリーンショットを投稿し、スクリーンショットから情報を抽出し、それを構造化してデータベースに書き込むアプリケーションの需要があることを聞きました。私たちは、与えられた画像を取得し、まずテキストを抽出し、そのテキストから名前、電話番号、住所を抽出し、これらの情報を権限付与された当局に提供するデータベースに書き込むアプリケーションの開発を開始しました。さまざまなオープンソースのOCRツールを試した後、OCR部分には「easyocr」を使用し、このアプリケーションのインターフェースの構築には「Gradio」を使用しました。OCRからのテキスト出力は、トランスフォーマーベースのファインチューニングされたNERモデルを使用して解析されます。 アプリケーションを共同で改善するために、Hugging Face Spacesにホストし、アプリケーションを維持するためのGPUグラントを受け取りました。Hugging Face HubチームはCIボットをセットアップしてくれたので、プルリクエストがSpaceにどのように影響を与えるかを見ることができ、プルリクエストのレビュー中に役立ちました。 その後、さまざまなチャンネル(Twitter、Discordなど)からラベル付けされたコンテンツが提供されました。これには、助けを求める生存者のツイートの生データと、それらから抽出された住所と個人情報が含まれていました。私たちは、まずはHugging Face Hub上のオープンソースのNLIモデルと、クローズドソースの生成モデルエンドポイントを使用したフューショットの実験から始めました。私たちは、xlm-roberta-large-xnliとconvbert-base-turkish-mc4-cased-allnli_trというモデルを試しました。NLIモデルは特に役立ちました。候補ラベルを使用して直接推論でき、データのドリフトが発生した際にラベルを変更できるため、生成モデルはバックエンドへの応答時にラベルを作り上げる可能性があり、不一致を引き起こす可能性がありました。最初はラベル付けされたデータがなかったので、何でも動くでしょう。 最終的に、私たちは独自のモデルを微調整することにしました。1つのGPUでBERTのテキスト分類ヘッドを微調整するのに約3分かかります。このモデルをトレーニングするためのデータセットを開発するためのラベリングの取り組みがありました。モデルカードのメタデータに実験結果を記録し、後でどのモデルを展開するかを追跡するためのリーダーボードを作成しました。ベースモデルとして、bert-base-turkish-uncasedとbert-base-turkish-128k-casedを試しましたが、bert-base-turkish-casedよりも優れたパフォーマンスを発揮することがわかりました。リーダーボードはこちらでご覧いただけます。 課題とデータクラスの不均衡を考慮し、偽陰性を排除することに焦点を当て、すべてのモデルの再現率とF1スコアをベンチマークするためのスペースを作成しました。これには、関連するモデルリポジトリにメタデータタグdeprem-clf-v1を追加し、このタグを使用して記録されたF1スコアと再現率を自動的に取得し、モデルをランク付けしました。漏れを防ぐために別のベンチマークセットを用意し、モデルを一貫してベンチマークしました。また、各モデルをベンチマークし、展開用の各ラベルに対して最適な閾値を特定しました。 NERモデルを評価するために、データラベラーが改善された意図データセットを提供するために取り組んでいるため、クラウドソーシングの取り組みとしてNERモデルを評価するためのラベリングインターフェースを設定しました。このインターフェースでは、ArgillaとGradioを使用して、ツイートを入力し、出力を正しい/正しくない/曖昧などのフラグで示すことができます。 後で、データセットは重複を排除してさらなる実験のベンチマークに使用されました。 機械学習の別のチームは、特定のニーズを得るために生成モデル(ゲート付きAPIの背後)と連携し、テキストとして自由なテキストを使用し、各投稿に追加のコンテキストとしてテキストを渡すためにAPIエンドポイントを別のAPIとしてラップし、クラウドに展開しました。少数のショットのプロンプティングをLLMsと組み合わせて使用することで、急速に変化するデータのドリフトの存在下で細かいニーズに対応するのに役立ちます。調整する必要があるのはプロンプトだけであり、ラベル付けされたデータは必要ありません。 これらのモデルは現在、生存者にニーズを伝えるためにボランティアや救助チームがヒートマップ上のポイントを作成するために本番環境で使用されています。 Hugging Face Hubとエコシステムがなかったら、私たちはこのように迅速に協力し、プロトタイプを作成し、展開することはできませんでした。以下は住所認識および意図分類モデルのためのMLOpsパイプラインです。 このアプリケーションとその個々のコンポーネントには何十人ものボランティアがおり、短期間でこれらを提供するために寝ずに働きました。 リモートセンシングアプリケーション…

Transformers.jsを使用してMLを搭載したウェブゲームの作成

このブログ記事では、ブラウザ上で完全に動作するリアルタイムのMLパワードWebゲーム「Doodle Dash」を作成した方法を紹介します(Transformers.jsのおかげで)。このチュートリアルの目的は、自分自身でMLパワードのWebゲームを作成するのがどれだけ簡単かを示すことです… ちょうどOpen Source AI Game Jam(2023年7月7日-9日)に間に合います。まだ参加していない場合は、ぜひゲームジャムに参加してください! ビデオ:Doodle Dashデモビデオ クイックリンク デモ:Doodle Dash ソースコード:doodle-dash ゲームジャムに参加:Open Source AI Game Jam 概要 始める前に、作成する内容について話しましょう。このゲームは、GoogleのQuick, Draw!ゲームに触発されており、単語とニューラルネットワークが20秒以内にあなたが描いているものを推測するというものです(6回繰り返し)。実際には、彼らのトレーニングデータを使用して独自のスケッチ検出モデルを訓練します!オープンソースは最高ですよね? 😍 このバージョンでは、1つのプロンプトずつできるだけ多くのアイテムを1分間で描くことができます。モデルが正しいラベルを予測した場合、キャンバスがクリアされ、新しい単語が与えられます。タイマーが切れるまでこれを続けてください!ゲームはブラウザ内でローカルに実行されるため、サーバーの遅延について心配する必要はありません。モデルはあなたが描くと同時にリアルタイムの予測を行うことができます… 🤯…

GPT-3がMLOpsの将来に与える意味とは?デビッド・ハーシーと共に

この記事は元々MLOps Liveのエピソードであり、ML実践者が他のML実践者からの質問に答えるインタラクティブなQ&Aセッションです各エピソードは特定のMLトピックに焦点を当てており、このエピソードではGPT-3とMLOpsの特徴についてDavid Hersheyと話しましたYouTubeで視聴することができます Or...

Pythonプロジェクトのセットアップ:パートV

経験豊富な開発者であろうと、🐍 Pythonを始めたばかりであろうと、堅牢で保守性の高いプロジェクトの構築方法を知ることは重要ですこのチュートリアルでは、...のプロセスを案内します

レトロなデータサイエンス:YOLOの最初のバージョンのテスト

データサイエンスの世界は常に変化していますしばしば、変化がゆっくりと進んでいるため、私たちはそれらを見ることができないことがありますが、時間が経過すると、風景が見えやすくなります...

オープンソースとオープンイノベーションによるAIシーンの破壊

AIの運命は、オープンソースとオープンイノベーションを活用する小規模なVoAGI企業によって追い越されることですGoogleやOpenAIでさえ同意しています!

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