見出し画像

グーグルの大規模言語モデルPaLMのGoogle Colabにおける使い方

グーグルのPaLM APIのウェイトリストに登録しており、使えるようになりました。今回は、Google ColabでもPaLMを使うことができるので紹介していきます。Colab MagicというPaLMに対するコマンドが用意されております。


最初に、Google Colabで実行するコードです。AIxxxxxxxxxxxxxxは、PaLM API Keyを取得して記載してください。

%pip install -q google-generativeai
%load_ext google.generativeai.notebook
%env GOOGLE_API_KEY=AIxxxxxxxxxxxxxxx


上記コードは、Google Colabで使用するときのおまじないと考えてください。

PaLM API Keyの取得方法については、以前書いた記事が参考になります。


これで、Google ColabでPaLMを使うことができるようになりました。使えるようになったかどうかは、%%palm --helpを実行してみて、使い方が表示されれば成功です。

%%palm --help

usage: palm [-h] {run,compile,compare,eval} ... A system for interacting with LLMs. positional arguments: {run,compile,compare,eval} options: -h, --help show this help message and exit

%%palm --helpの実行結果



ここからは、Google ColabにおけるPaLMの使い方を紹介していきます。

%%palmを1行目に記載し、2行目に自然言語で、The opposite of hot is と記載して実行します。

%%palm run 
The opposite of hot is

すると、下記のようにテーブル形式で表示されます。text_resultのところにhotに対する反対語としてcoldと表示されています。



今回、%%palm runと記載しましたが、%%palmだけでも%%palm runと同じ意味を持つようになっております。

%%palm
The opposite of hot is


自然言語の記載だけでなく、自然言語の中で、変数も取り扱うことができるようになっております。

例えば、下記のようにwordの辞書?変数?配列?に対して、hotとcoldという値を持たせます。

english_words = {
    # Each value here (hot, cold) will be substituted in for {word} in the prompt
    'word': ['hot', 'cold']
}

次に、自然言語の中で変数{word}を指定して使います。

%%palm --inputs english_words
The opposite of {word} is

上記を実行すると、wordの値に対して、hot、coldの反対語のcold、hotを返します。



他の使い方は、Googleスプレッドシートも読み込んで取り扱うことができます。下記は、GoogleスプレッドシートをGoogle Colabで取り扱うときのお作法と考えてください。notebookらGoogleドライブへのアクセス権の承認が求められます。

from google.colab import auth
auth.authenticate_user()

import google.auth
creds, _ = google.auth.default()

from google.generativeai.notebook import magics
magics.authorize(creds)

次に、下記のスプレッドシートがあるとします。


%%palm --sheets_input_names https://docs.google.com/spreadsheets/d/1UHfpkmBqIX5RjeJcGXOevIEhMmEoKlf5f9teqwQyHqc/edit
Create a single sentence description of a monkey's personality. The monkey's name is {name} and it has a {temperament} temperament.


上記コマンドが、スプレッドシートからnameとtemperamentを読み込んで、文章を作成してもらう自然言語処理となります。1行目の%%palm --sheets_input_namesで、先ほど紹介したスプレッドシートを指定しています。


実行結果



以上で紹介は終わりになります。自然言語処理の中で変数を使うことができるようになったのと(自然言語の記述をprint(f"xxxxxx")みたいに変換しているのだと思いますが)、テーブル形式で実行結果が表示されるので可視化が高まったと考えられます。今後Google Colabでの様々な使い方が出てくると考えられますので、他の使い方を見てみたいと思います。

この記事が気に入ったらサポートをしてみませんか?