国際翻訳コンテストで優勝したモデルが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ベースのクライアント監視と分析における機械学習の最適化と実践

ブログ    
ブログ    
ブログ    

推薦する

...

AI企業の成人式:自由が996と衝突し、技術的理想が地上戦争と衝突する

戦争の理由はすべて、例外なく一つのこと、つまり生き残ることにつながります。狼の本能がなければ、生き残...

エッジ AI IoT ソリューションはビジネス パフォーマンスをどのように向上できるのでしょうか?

現代のビジネス エコシステムにおける AI と IoT の影響を拡大します。人工知能 (AI) とモ...

...

DeepXplore: 現実世界のディープラーニングシステムを体系的にテストするための初のホワイトボックスフレームワーク

ヨアヴ・ホランダーマシンハートが編集参加者: ウー・パン、ヤン・チー5月に、コロンビア大学とリーハイ...

...

ボストン ダイナミクスが CES で楽しいひとときを過ごし、ロボット犬の Spot がメタバースに登場します。

CES 2022 で、ボストン ダイナミクスは Spot ロボット犬をメタバースに導入しました。こ...

AIモデルの「レッドチーム」からの迅速な修正を期待しないでください

ホワイトハウスの関係者らが人工知能チャットボットが引き起こす可能性のある社会的危害を懸念する中、シリ...

機械学習: 決定木について

ロジスティック回帰の基本原理と勾配降下法の導出プロセスについて説明しました。このコードは、分類アルゴ...

...

女王即位70周年にあたり、世界初となる超リアルなヒューマノイドロボットアーティストが肖像画を発表したが、「信憑性に欠ける」と批判された。

ビッグデータダイジェスト制作著者: カレブエリザベス2世女王の即位70周年を祝い、英国は早くも祝賀ム...

ディープラーニングがなぜディープラーニングと呼ばれるのかご存知ですか?

これは単純なプッシュです。今日はディープラーニングという名前についてのみお話します。ディープラーニン...

タオバオの顔面を平手打ちして電子商取引を破壊しよう!このファッション会社はアルゴリズムを使って新しい小売業をリードしている

[51CTO.com からのオリジナル記事] 私が共有したトピックは、データ駆動型の意思決定サポート...

...

データセンターの物理的セキュリティに AI を活用する方法

機械学習と人工知能は、データセンターの問題に対する万能薬として宣伝されてきました。その多くは誇大宣伝...