国際翻訳コンテストで優勝したモデルがByteDanceによってオープンソース化された。

国際翻訳コンテストで優勝したモデルがByteDanceによってオープンソース化された。

Transformer などの主流のテキスト生成アルゴリズムの単語単位の生成は、並列計算に適した GPU に適していないため、GPU の使用率が低下します。並列ビルドはこの問題の解決に役立ちます。少し前、ByteDanceのVolcano Translationチームの並列生成翻訳システムGLATが、WMT2021 De-En/En-Deのダブル優勝を果たしました。この成果を誰もがフォローアップできるように、Volcano Translation は、GLAT モデルの複製と WMT21 のコードを含む、ParaGen と呼ばれる Pytorch ディープラーニング フレームワークをオープンソース化しました。

コードアドレス: https://github.com/bytedance/ParaGen

テキスト生成は自然言語処理における重要な研究方向であり、幅広い応用シナリオがあります。たとえば、テキストの要約、機械翻訳、コピーライティングの生成など。分類やラベル付けなどの一般的なタスクとは異なり、テキスト生成では、各単語の重要性を考慮して単語の予測精度を向上させるだけでなく、単語間のコロケーションを考慮してテキスト全体の流暢性を維持する必要があります。したがって、一般的なアプローチは、単語を 1 つずつ生成し、単語が生成されるたびに、既存の単語との関係を考慮することです。

上記の手順でテキストを生成するこのタイプのモデルは、現在主流の生成アルゴリズムであるTransformerなどの自己回帰モデルと呼ばれます。モデルはまず、機械翻訳で翻訳されるテキストやテキスト要約の元のテキストなどの元のテキストをエンコードします。次に、左から右へ単語ごとにデコードして、翻訳されたテキストまたは要約を作成します。このアルゴリズムに基づくオープンソース ソフトウェアには、tensor2tensor、fairseq などがあります。ただし、単語ごとの生成は並列計算に適した GPU に優しくないため、GPU の使用率が低下し、文の生成が遅くなります。そのため、近年では並列的にテキストを生成し、応答の遅延を減らす方法についての研究が盛んに行われています。

以前、バイトダンスの人工知能研究所(AI-Lab)のVolcano Translationチームは、並列生成翻訳システムであるGlancing Transformer(GLAT)を開発し(「ACL 2021 | バイトダンスGlancing Transformer:並列生成モデルの概要」を参照)、それを使用して優勝しました。   WMT2021 De-En/En-De ダブルチャンピオン  (「並列生成のシンギュラリティが近づいています!ByteDance GLATがWMT2021のドイツ語と英語の自動評価で1位を獲得」を参照)これは並列生成の強力な可能性を示しています。このような背景から、ParaGen が誕生しました。チームの研究者らは、並列生成においては、モデルの改善だけではもはや研究ニーズを満たすことができず、トレーニング方法とデコードアルゴリズムの改善がますます重要になっていることを発見した。 ParaGen は、並列生成研究の生産性を解き放つために開発されました。

ParaGenでは、Huoshan TranslationがGLATモデルの再現とWMT21のコードをオープンソース化し、並行して生成された研究結果を誰もがよりよくフォローアップできるようにしています。今後、Volcano Translation は、並列生成関連の技術をさらにオープンソース化し、並列生成技術のさらなる発展を促進し、並列生成技術が徐々により多くの生産アプリケーションに移行できるよう支援していきます。同時に、ParaGen は並列生成に加えて、自己回帰翻訳、多言語翻訳、事前トレーニング済みモデル、生成タスク、抽出タスク、分類タスクなど、さまざまな自然言語処理タスクもサポートし、ゼロから再現できるコードを提供することで、自然言語処理研究に不慣れな学生がより早く研究状態に入ることを支援します。

ParaGenは開発をより柔軟に、より自由に、より簡単にします

ParaGen は、データ読み取り、データ前処理、データ サンプリング、データ読み込み、ネットワーク モジュール、トレーニング モデル、推論モデル、最適化目標、検索アルゴリズム、オプティマイザー、数値プランナー、トレーニング アルゴリズム、評価目標など、最大 13 個のカスタマイズ可能なモジュールをサポートしています。同様のテキスト生成フレームワークと比較して、二次開発の柔軟性が大幅に向上します。 ParaGen は、さまざまなモジュールに対してマイクロカーネル設計を採用しています。各モジュールは、数値最適化の InverseSquareRootRateScheduler、ネットワーク モジュールの位置埋め込み、データ読み取り用の JsonDataset など、いくつかの共通の基本実装のみを提供し、互いに独立しています。 13 個のモジュールに細かく分類されているため、ParaGen をより便利にカスタマイズできます。たとえば、一瞥トレーニングを実装する必要がある場合、カスタマイズされたトレーニングをモジュールで実装するには、ParaGen で forward_loss 関数をオーバーロードするだけで済みます。

 輸入トーチ
paragen.trainers.trainer からTrainer インポート
paragen.trainers からregister_trainer をインポートします


@register_trainer
クラスGLATTrainer ( トレーナー):
「」 「
ちらっと見る戦略トレーナー
「」 「
def _forward_loss ( selfsamples ):
glancing_output = self._generator ( ** サンプル[ ' net_input' ])
fused_samples = self._fusing (サンプル glancing_output )
ログ記録状態= self._criterion ( ** fused_samples )
リターンロス

これまでのプロセスベースの開発とは異なり、ParaGen はアセンブリベースの開発に重点を置いています。手続き型開発では、フレームワークがプロセス コードを修正し、ユーザーは各モジュールをプロセスに組み込む方法を見つけます。 ParaGen のアセンブリベースの開発はまったく異なります。現在タスクを実装していると想像してください。ParaGen はツールボックスのようなものです。必要な機能に応じて完全なプロセスを組み立てることができます。たとえば、適切な Dataset クラスを選択してデータを読み取り、Sampler を選択してバッチを結合し、Metric を選択して結果を評価したり、独自のトレーニング プロセスを定義したりすることが可能です。実装されていないツールに遭遇した場合、ParaGen のツールを親クラスとして使用し、少数の関数をオーバーロードしてより多くのタスクに適応させることで、独自のツールをカスタマイズできます。

同時に、ParaGen のコード構造はより慎重に分解されており、ユーザーはコードを読むのに 2 ~ 3 時間しかかからず、プロジェクト全体のフレームワークを理解して独自のタスクをカスタマイズできます。それだけでなく、ParaGen は、初心者が ParaGen コード全体の基本的な知識と使用方法を学習できるように、対応するチュートリアルも提供しています。

ParaGenは開発をより安定させる

ParaGen は、さまざまな方向への同時開発を適切にサポートできます。 ParaGen はコード開発に対するプラグ可能なアプローチをサポートしており、ユーザーはフレームワーク外で開発することができます。ユーザーは任意のディレクトリで独自のモジュールを開発し、--lib {my_lib} コマンドを使用して ParaGen にインポートして実行できます。これにより、二次開発コードがメインコードから独立し、二次開発コードのメンテナンスとメインフレームワークの安定性が向上し、互いのコードに競合が発生することなく、異なるプロジェクトの開発の並列性と安定性が確保されます。

ParaGen は、非常に緩やかな Apache 2 オープンソース プロトコルを使用しています。たとえば、他の開発者が二次開発を行ってからソース コードをクローズできるため、より優秀な開発者やチームが参加しやすくなります。

ParaGen は、従来の自己回帰モデルを超える翻訳品質を備えた初の並列テキスト生成ソフトウェアとして、速度と品質のバランスをとる実現可能性を証明し、その後の研究に再現可能な実装を提供します。アプリケーションレベルでは、端末展開における低消費電力と高速応答のパフォーマンス要件を大幅に満たします。今後の開発では、ParaGen は条件付きランダム フィールド モデルなどの並列アルゴリズムをさらに検討し、パフォーマンスをさらに向上させます。一方、より実用的なシナリオでのアプリケーション開発を容易にするために、モバイル端末や組み込みシステムなど、より多くの展開環境が開かれることになります。​

<<:  疫病流行中に物流の円滑化に全力を尽くし、無人配送市場が活況を呈している

>>:  URLベースのクライアント監視と分析における機械学習の最適化と実践

ブログ    
ブログ    

推薦する

...

自動化がビジネスに具体的な価値をもたらす方法

[[404690]]長年にわたり、多くの企業がロボット、自動化、人工知能などのテクノロジーからより多...

RNN の効率は Transformer に匹敵し、Google は 2 つの新しいアーキテクチャをリリース: 同じ規模では Mamba よりも強力

今回、Google DeepMindは基本モデルに新たな動きを見せた。リカレント ニューラル ネット...

Amazon Transcribe について

Amazon Transcribe は、開発者がアプリケーションに音声テキスト変換機能を簡単に追加で...

多くの場所でAI顔認識の使用が制限されており、監視は技術開発のペースに追いついています

最近、南京、江蘇省、天津などではAI顔認識技術の使用を禁止し始めている。 11月末、南京市のある男性...

5Gは医療業界に革命を起こす

[[377987]]画像ソース: https://pixabay.com/images/id-149...

組織のセキュリティを保護するための暗号化トラフィック分析における機械学習の役割

脅威の攻撃者が戦術や手法を進化させ続けるにつれて(たとえば、暗号化されたトラフィック内に攻撃を隠すな...

...

ディープラーニングの最適化を理解するにはどうすればよいでしょうか?勾配降下法の軌跡を分析することで

ニューラル ネットワークの最適化は本質的に非凸ですが、単純な勾配ベースの方法は常にこのような問題を解...

RPA製造業アプリケーション事例共有

5G が推進し主導する、デジタル技術変革の新世代が正式に到来しました。今日、インターネットの急速な変...

1800億パラメータ、世界最高峰のオープンソース大型モデルFalconが正式発表! Crush LLaMA 2、GPT-4に近いパフォーマンス

一夜にして、世界で最も強力なオープンソースの大型モデル Falcon 180B がインターネット全体...

人工知能の時代では、女の子よりも男の子の方が失業する可能性が高いです!

ジョークを一つ言わせてください。今、路上で物乞いをしている人を見かけたら、ぎこちなくポケットを触り、...

逆転!清華大学の卒業生の死はグーグルのレイオフとは無関係、家庭内暴力の詳細が明らかに、男性は殺人罪で起訴された

地元警察は、ここ数日話題になっている「グーグルの人員削減により清華大学の夫婦が自殺」事件の詳細を発表...

画像内のオブジェクト検出のための ML データを探索および視覚化する方法

近年、機械学習データ(MLデータ)を深く理解する必要性に対する認識が高まっています。しかし、大規模な...