Transformers でのテキスト生成をカスタマイズする方法

Transformers Denotekisuto Sheng Chengwokasutamaizusuru Fang Fa



深層学習におけるテキスト生成とは、次の助けを借りて自然言語でテキストを自動的にカスタマイズするプロセスを指します。 人工ニューラルネットワーク(ANN) 。さらに、その特定の目的のために、前の単語に応じてシーケンス内の次の単語を予測するために大規模なデータセットで事前トレーニングされたさまざまな言語モデルが利用されます。さらに、カスタマイズされたテキストは、言語翻訳、コンテンツの生成、チャットボットなどを含む複数のアプリケーションに利用できます。

このブログでは、以下の内容について説明します。

Transformers から「パイプライン」機能を使用してモデルをロードしてテキスト生成をカスタマイズするにはどうすればよいですか?

パイプライン 」機能を使用して、ユーザーの要件に応じて事前トレーニング済み AI モデルを自動的にダウンロードします。この特定の機能を使用するには、ユーザーは「 変圧器 」のパッケージ。このパッケージでは、センチメント分析や他の複数の分析を実行できる最先端の Transformer ベースのモデルにアクセスできます。 自然言語処理 (NLP) タスク。







上記のシナリオの実際的なデモンストレーションを確認するには、以下の手順に進んでください。



ステップ 1: 「transformers」パッケージをインストールする

最初に「!」を実行します。 ピップ」 トランスフォーマー パッケージをインストールするコマンド:



pip インストール変圧器

ご覧のとおり、指定したパッケージは正常にインストールされました。





ステップ 2: Transformer ベースのモデルをインポートする

その後、必要なトランスフォーマーベースのモデルをインポートします。そのためには、まず「 パイプライン 「」からの機能 変圧器 ”。次に、インポートされた関数を使用して「 テキスト生成 ” を引数として必要なモデル名とともに指定します。” gpt2 ”。次に、それらを「」に渡します。 生成する ' 変数:



から 変圧器 輸入 パイプライン

生成する = パイプライン ( 「テキスト生成」 モデル = 「gpt2」 )

ステップ 3: カスタマイズ テキストの生成

次に、必要なテキストを引数として「」に渡します。 生成する ”。以下に示すように:

生成する ( 「gpt2 モデルを使用してトランスフォーマーでテキストを生成する」 )

提供された出力によると、ダウンロードされた事前トレーニングされた「 gpt3 」モデルのテキストが正常に生成されました。

次のような他の引数を使用することもできます。

プロンプト = 「gpt2 モデルを使用してトランスフォーマーでテキストを生成する」

印刷する ( 遺伝子 ( プロンプト num_return_sequences = 5 最大長 = 二十 ) )

ここ:

  • プロンプト ” は入力を保持する引数として使用されます。
  • num_return_sequence ” 引数は、提供されたテキストのシーケンスの数を生成するために使用されます。
  • 最大長 ” 引数は、生成されるテキストの長さを指定するために使用されます。弊社の場合は「」に限定します。 30 ” トークン (単語または句読点):

注記: カスタマイズされたテキストは、モデルのトレーニング データに基づいて指定されたプロンプトの続きになります。

PyTorch でテキストを生成するためにトランスフォーマーベースのモデルを利用するにはどうすればよいですか?

ユーザーは「」内のテキストをカスタマイズすることもできます。 パイトーチ ” それは” 松明 」ベースの機械学習フレームワーク。 NLP やコンピューター ビジョンなど、さまざまなアプリケーションに利用されます。 PyTorch でテキストをカスタマイズするためにトランスフォーマー ベースのモデルを使用するには、まず「 GPT2トークナイザー ' そして ' GPT2モデル ” からの機能 変圧器 ”:

から 変圧器 輸入 GPT2トークナイザー GPT2モデル

次に、「」を使用します。 GPT2トークナイザー 「」という名前の希望の事前トレーニング済みモデルに従ったトークナイザー gpt2 ”:

トークナイザー = GPT2トークナイザー。 from_pretrained ( 「gpt2」 )

その後、事前トレーニングされたモデルから重みをインスタンス化します。

モデル = GPT2モデル。 from_pretrained ( 「gpt2」 )

次に「」を宣言します。 gen_text 」カスタマイズするテキストを保持する変数:

gen_text = 「gpt2 モデルを使用してトランスフォーマーでテキストを生成する」

さあ、「」を渡してください。 gen_text ' そして ' return_tensors='pt' ” を引数として指定すると、PyTorch でテキストが生成され、生成された値が “ エンコードされた入力 ' 変数:

エンコードされた入力 = トークナイザー ( gen_text return_tensor = 「pt」 )

最後に「」を渡します。 エンコードされた入力 カスタマイズされたテキストを保持する変数。 モデル ” をパラメータとして使用し、結果の出力を「 最大長 ” に設定されている引数 二十 」は、生成されるテキストが指定されたトークンに限定されることを示します。 num_return_sequences 「」に設定したもの 5 これは、生成されたテキストが 5 つのテキスト シーケンスに依存していることを示しています。

出力 = モデル ( **encoded_input )

発生器 ( gen_text 最大長 = 二十 num_return_sequences = 5 )

出力

TensorFlow でテキストを生成するためにトランスフォーマーベースのモデルを利用するにはどうすればよいですか?

トランスフォーマーでテキストを生成するには、「 TensorFlow 」ベースの機械学習フレームワークも使用されます。これを行うには、まず、「」などの必要な関数をインポートします。 GPT2トークナイザー ' そして ' TFGPT2モデル ' から ' 変圧器 ”。コードの残りの部分は上記と同じですが、「」を使用するだけです。 TFGPT2モデル 「」の代わりに「」関数を使用します。 GPT2モデル ' 関数。次のように:

から 変圧器 輸入 GPT2トークナイザー TFGPT2モデル

トークナイザー = GPT2トークナイザー。 from_pretrained ( 「gpt2」 )

モデル = TFGPT2モデル。 from_pretrained ( 「gpt2」 )

文章 = 「gpt2 モデルを使用してトランスフォーマーでテキストを生成する」

エンコードされた入力 = トークナイザー ( 文章 return_tensor = 'tf' )

出力 = モデル ( エンコードされた入力 )

発生器 ( gen_text 最大長 = 二十 num_return_sequences = 5 )

ご覧のとおり、カスタマイズされたテキストが正常に生成されました。

それでおしまい! Transformers でのテキスト生成のカスタマイズについて詳しく説明しました。

結論

Transformers でのテキスト生成をカスタマイズするには、パイプライン関数でモデルをロードしたり、「」でトランスフォーマーベースのモデルを使用したりするなど、さまざまな方法があります。 パイトーチ ' そして ' TensorFlow 」は機械学習フレームワークに基づいています。このガイドでは、Transformers でのテキスト生成のカスタマイズに関する実践的なデモンストレーションとともに、簡単な情報を提供しました。