Dolly 2.0 + Hugging Face + googletrans LLMを翻訳機能と合わせてみた

前回の記事で、Dolly2.0が日本語を入力してもうまく応答してくれませんでした。
Google翻訳の機能と合わせて応答の精度が向上するのか、試してみたいと思います。

Googletransを実行してみる

GoogletransはGoogle Translate APIを実装した無料かつ無制限のpythonライブラリです。
1日に1万語ぐらい投げ込むと、ブロックされてしまうこともあるようですが、個人利用の範囲なら十分かと思います。

Google Colaboratory上で実行してきます。ハードウェアアクセラレートを「GPU」に設定するのをお忘れなく。
早速、インストールしてみましょう。

※「pip install googletrans」では、Version3.00がインストールされ動作が不安定+エラーが起きるので、
 以下のようにVersionを指定しましょう。

!pip install googletrans==4.0.0-rc1

実行はとても簡単です。以下のコードを見て頂ければ、すぐに分かると思います。

from googletrans import Translator

text = "これはテストです。"

translator = Translator()
result_en = translator.translate(text, dest="en").text
print(result_en)

result_ja = translator.translate(result_en, dest="ja").text
print(result_ja)

Dolly2.0 + googletransを実行してみる

前回の記事と同じ日本語の質問で実行した結果を載せておきます。

Googletransも含めて、必要なライブラリをインストールを記載しておきます。

!pip install accelerate
!pip install transformers
!pip install googletrans==4.0.0-rc1
import torch
from transformers import pipeline
from googletrans import Translator

generate_text = pipeline(model="databricks/dolly-v2-3b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto")
#generate_text = pipeline(model="databricks/dolly-v2-7b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto")
#generate_text = pipeline(model="databricks/dolly-v2-12b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto")
prompt_ja = "核融合と核分裂の違いを説明してください。"

translator = Translator()
prompt_en = translator.translate(prompt_ja, dest="en").text

result_en = generate_text(prompt_en)
print(result_en[0]['generated_text'])

result_ja = translator.translate(result_en[0]['generated_text'], dest="ja").text
print(result_ja)

かなり応答の精度が向上しました。ちなみに、前回の記事で、日本語で質問した時の結果が以下。

他のモデルを使用しても英語でのやり取りの方が精度が高いので、有用な手段かと。

とりあえず、ここまで。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

five × 1 =