新しい問題でruGPT-3をテストする

ゼロからの推奨システム、チャットボットなど



テキストデータの深淵に突入した後、今年の10月にruGPT-3モデル(OpenAIのアーキテクチャに基づくロシア語のモデル)トレーニングしました。しかし、これらのモデルは何ができるのでしょうか?この記事では、モデルを適用する最初の例を収集し、新しい例を試します。SberDevicesSber.AISberCloudチーム



共同で開発された最大のトレーニング済みモデルであるruGPT-3Largeの最初の結果を紹介しますあなたと一緒にそのアプリケーションの境界を探りましょう。 今年のAIジャーニーではアプリケーションの競争ruGPT-3(3つのスケールで評価されたモデルを使用した任意のソリューション)を準備しました。イノベーション、感情的な関与、およびビジネスへの適用性をトラックに提出できます。



画像







ネタバレ:
そもそも100万ルーブル




新しいタスクのためにモデルをトレーニングする方法は?



モデルとそのコードはsberbank-aiリポジトリにあります。transformersライブラリまたはMegatron-LMを使用できます。



この記事では、huggingface / transformersを使用した例を示します。ケースのコードは次のとおりです。





ライブラリ変圧器モデルカード:



あなたが生成スクリプトを実行すると、それはすべてのファイル名を指定して実行を行うには簡単だ-とモデルがロードされながら少し待ちます。



画像



最後のセルのスクリプトでは、テキストの先頭を入力するように求められます。私のお気に入りの種です。「ブラジルの科学者は、ユットランドの西に住む珍しい種類の矮星ユニコーンを発見しました。」当社は、 取得のみruGPT-3小フィットをコラボのラップトップに、それはより多くの14GBのメモリよりもを使用カードへのより良いですので。



ruGPT-3 Small: , . Agence France-Presse. , Pygmaliona (. Pygmaliona pygmalioni), . 30 , — 1 . . , .







ちなみに、大会期間中は、トラック参加者にクリストファリの施設へのアクセスを提供します!

ruGPT-3トラックの参加者には、100個のアカウントを割り当てました。各アカウントに1つのGPU Tesla V100-SXM3 32Gbを無料で提供します。



アカウントを取得するにはどうすればよいですか?



1)トラックruGPT-3(AI 4 Humanities)ods.ai/tracks/aij2020に登録します

。2)チームの名前とタスクを記載した短い手紙をAIJ_ruGPT-3@sberbank.ruに書き込みます。



画像



いくつかのショットと微調整



GPTのようなアーキテクチャなどの大規模な生成モデルの場合、それらを「処理」する方法はいくつかあります。



  • : «» — . (GPT-3 ), . ( « → ») .
  • : , « » (. «prompt engineering» — , , .


?



大きなモデルを再トレーニングするのは非常に費用がかかる可能性があるため、この方法でモデルと「通信」することで、それを回避することもできます。シードプログラミングの本質は、そのような準備された例と生成の開始を選択することです。これにより、モデルはさらに必要なものを正確に生成します。



「シード」とジェネレーターのハイパーパラメーター(温度、top_n、top_k)を選択すると、モデルの予備トレーニングのみで、非常に許容できる回答を得ることができます。



画像



1つの例と問題の説明を含むシードの例。



両方の方法を実際にテストします。一般的な問題と特定の問題を最初から解決し、追加のトレーニングを行います。



レコメンダーシステム



トレーニングなしで推奨システムを作成しましょう。ruGPT-3にテキスト形式でユーザーの好みに関する大規模な情報を送信し、モデルがそれをどのように継続するかを監視します。一度に多くのオプションを生成して、より多くの推奨事項を取得できます。



映画のおすすめ: 悪くない!少なくともフィルムは種に応じて生成されているようです。私はソビエト映画の愛好家ではないので、映画「スリープラスツー」すら知りませんでしたが、知っています。生成には、次のハックを使用しました。モデルに適切な名前を生成させるために、テキストにオープンクォーテーションマークを特別に指定し、最初の文の後の不要なものをすべて切り取りました。音楽の推奨事項:



: — “”, “”, “

ruGPT-3 Large: — “”, “”, “ ”, “ ”, “ ”.

ruGPT-3 Large: — “”, “”, “ ”, “”, “” (, , , ).

ruGPT-3 Large: — “”, “”, “” .”



: : “ ”, “

ruGPT-3 Large: : “ ”, “ ” “ ”.

ruGPT-3 Large: : “ ”, “ ”.

ruGPT-3 Large: : “ ”, “ ”, “ ” .











: “ , “ ”, “ #( , )

ruGPT-3 Large: , “ ”, “” “”.

ruGPT-3 Large: , “ ”, “” “ ”.

ruGPT-3 Large: , “ ”, “”, “ ”, “ ”, “” “”.



結果は常に異なります-潜在的にN個のバリアントを生成し、すべてのグループ名を抽出し、最も人気のあるもののカウンターを収集できます-出来上がり、ゼロからの推奨システム。



レビューの生成



もっと難しいタスクを取りましょう-モデルをディスカッションやショップで人を模倣させましょう: ご覧のとおり、インターネットで広く普及しているトピックの場合、モデルはトレーニングなしで一貫性のあるテキストを生成できます。しかし、追加のトレーニングなしではまだ方法はありませんか? そのようなケースは3つあります。



: “ .

- ”

ruGPT-3 Large: “ .

- . , .”



: “ .



ruGPT-3 Large: “ .

.

, .

, , . , , .”



: .

"1+1"

ruGPT-3 Large: .

"1+1" — , . . . . " ", .











  1. 複雑なデータ形式-トレーニングなしの生成中に、間違った形式での生成が原因で品質が低下した場合-NERの問題、コードの生成、シンボリック計算など。
  2. , — QA , , , ;
  3. , , , — , .


StackOverflow



複雑さのレベルを上げましょう。ロシア語の[スタックオーバーフロー](https://ru.stackoverflow.com/)をダウンロードして、質疑応答システムを作成してみてください。答えのスタイル、知識、そしていくつかのプログラミング言語の両方をすぐに学ぶことができるでしょうか?タオキの問題ですぐに良い結果を得るのは簡単ではありませんが、楽しむことができます-5エポックで、モデルはスタイルを再現することを学び、内容に非常に混乱します。しかし、私はドキュメントへのリンクをよく学びました-5つの時代の学習にとって非常に良い結果です。



トレーニング形式:質問とベストアンサーのテキストをQ:「blabla」A:「blabla」の形式で送信します。 (実際にはそのようなライブラリはありません。モデルはドキュメントへのリンクを生成しました)



Q: python?

A: : push.log("Shalom").

- , .

set.log()**)

rGet = puts.random(extents) log.findIndex(puts.current) void join($window, command='unsetMainServer onManager') }

,



Q: python?

A: import pycode as pyc;

// ( href=https://docs.python.org/3/library/pycode.html )







このようなタスクの場合、追加の引数を入力できます。たとえば、回答するセクション/件名/プログラミング言語の名前を入力し、{"parameter": "value"、 "question": "question_text"、 "answer":の形式のデータでモデルをトレーニングします。 "Answer_text"}。



コードとテキストの両方に関して、私たちはすぐにファイルを持っています-多分誰かがトラック内でもっとうまくいくでしょうか?コードを使用した英語モデルには、すでに非常に成功した実装があります。Webページ要素のhtmlコードの記述、Figmaテンプレートの生成です。



他の言語を試してみてください!Twitterなど



モデルを教えるための主な言語はロシア語ですが、モデルは多言語タスクで使用できますか?他のいくつかの言語は常にウェブからのトレーニングサンプルに分類されるため、希望があります。シードを使用した単純なアプローチは、モデルが英語モデルについて少し知っていることを示しています。 まあ、ほとんど: まったく機能しない場合があり ます:純粋な英語データで練習してみませんか:Kaggleコンペティションからtwitter-text-classificationデータセットを取得しました。 5千の最初のコメント(Colabでは20分)の5エポックの後、英語で非常に有毒なコメントがかなり許容できる範囲で生成されます。

ruGPT-3 Large:

—> cat

—> dog

—> pear

—> coder





—> cat

—> dog

—> pear

—> Python





—> cat

—> dog

—> pear

—> bunch #

—> dog

—> cat

—> dog



画像











Context >>> Is it

ruGPT-3 Small: Is it's the case that #Microsoft is using #SAP to manage #Microsoft’s business?



Context >>> It is

ruGPT-3 Small: It is the only one that I've been trying to do. Siri is on the verge of death, and I'm not aware of why she has to be on the verge.



Context >>> Why

ruGPT-3 Small: Why do I go here? I'm wondering if I can use the #Microsoft Windows 8 Pro for the #WindowsPhone phone? Thanks!



対話システム



すでに、事前トレーニングなしで、モデルをダイアログシステムに適用することは非常にうまく機能します。モデルは、さまざまなトピックについて自由にチャットしながら、チットチャット機能(何も話さない)を実行できます。特定のシナリオとドメインに関する追加のトレーニングにより、ビジネスアプリケーションを実装できます。

以下の例は、トレーニングなしの対話の例であり、焦点を絞ったトピックであるインターネットプロバイダーのサポートに関するものです。

シード:最初の2行-次の世代。 もちろん、事前トレーニングなしでは、モデルはスクリプトとサポートスペシャリストのスクリプトについて明確な考えを持っていませんが、そのようなコールドスタートでさえ、「何が起こったのかを見つける-ハングアウトする-通話をリダイレクトする」標準的な方法をすでに示しています。あなたは古典を思い出すことができます:

User1: , ! ?

User2: .

User1: ?

User2: 500

User1: ?

User2: . .. .

User1: ?

User2: . , - ...

User1: , , , , ?

User2:

User1: , . , .

User2: , . .

User1: . , , .

User2: , , ?

User1: ?

User2: . .

User1: ?

User2:

User1: . .

User1: , . - .

User2: , .

User1:

User2:





User1: «», 656, , .

User2: , 766—1669, : , , , , , , ?

User1: 1 . , , .

User2: , , , - ?

User1: , 1 . , - , , , . .

User2: , , , , - .

User1: .

User2: , ?

User1: , , .

User2: , , .



一般的に、「あなたは辛抱強くなければなりません」。モデルは、User1の名前がDmitryであることを覚えていて、User2はそれに応じて彼に別れを告げました。



結論の代わりに



生成モデルの方向性を開発し続け、NLP問題のアーキテクチャを改善するには、特定のテクノロジーの適用可能性の限界とその関連性を常に理解する必要があります。



現在、同様のアーキテクチャのリリースごとに、Reformer、Longformer、BigBirdなどがあります。-事前にトレーニングされた大規模なモデルを少し新しい方法で見て、新しい課題を提起します。



前述のケースに加えて、ruGPT-3は間違いなく適用でき、次のようなプラクティスで有益です。



  • MLタスクのテキストデータの拡張
  • 自動化のための対話モデル
  • 生成的加算タスク
  • 構造化された情報に基づく書き直し、ニュースの生成、スポーツノート。


デモとモデルがコミュニティに役立つことを願っています-そして楽しいです!



そしてもちろん、11月末までruGPT-3トラックでのあなたの決定を待っています!



All Articles