見出し画像

Japanese StableLM Base Alpha 7BをGoogleColabで試してみる

Stability AI Japanから日本語特化の大規模言語モデル(LLM)である「Japanese StableLM Base Alpha 7B」が公開されたので、これをプロンプトのレベルに分けて試してみる記事になります。
また、Google Colabにて動かす際に躓いたポイントもまとめています。


検証結果

結論から言えば、ChatGPT-4には劣るものの、かなり自然でかつ面白い回答が導き出されやすいと思えました。

以下が試した基本的な質問とその回答精度です。
答えが明確では無いものについては自分の主観です。

初級レベル

計算問題: "5 + 3の答えは何ですか?" ⇒ ×
単語の意味: "「友情」という言葉の意味は何ですか?" ⇒ ○
一般的な事実: "地球は太陽系の何番目の惑星ですか?" ⇒ △

大規模言語モデルの特性上、計算は向きません。
友情については辞書的な回答ではなく、結果的には何か独創的な回答です。
意図は概ね捉えていますが回答は微妙です。

中級レベル

文法の理解: "次の文の誤りを指摘してください: 彼は自分の鍵を失くし、家に入ることが出来ない。" ⇒ ○
歴史的事実: "フランス革命は何年に始まりましたか?" ⇒ ○
科学的理解: "光合成とは何ですか? どのように機能しますか?"⇒ ○

誤りの指摘ではなく、文章を修正していますね。これはこれで凄い気がします。
年月日はWikipedia通りでした。
こちらも正しいでしょう。

上級レベル

スクリーンショットではなくテキストで保存していたので、ここからテキストになります。

複雑な問題解決: "ある会社が生産効率を上げるためにどのような戦略を取るべきか、戦略的な提案をしてください。"⇒ ○
回答:生産効率を高めるには、適切な機械、人員、材料、そして品質管理ツールを備えていることが必要です。それらを効果的に活用するために、従業員のトレーニングや評価を行う必要があります。また、在庫管理を最適化するために、在庫量の管理や廃棄物の削減に取り組むことが重要です。<|endoftext|>

批判的思考: "人工知能の倫理的な課題について議論してください。" ⇒ △
回答:確かに、人工知能に倫理的な指示を与えて保護することは素晴らしい考えですが、私は、人工知能が適切に倫理的に行動できるように設計されることを望みます。<|endoftext|>

高度な分析: "最近の経済データを基に、次の四半期の経済成長について予測してください。" ⇒ ○
回答:私は、米国連邦準備制度理事会が4月の会合において、金利を引き上げる可能性が高いと考えています。これにより、経済成長とインフレが減速すると予想されるため、消費者が支出を控え、企業は製品やサービスの生産を減らすと予測しています。また、金利引き上げに伴い、株価も下落すると考えています。このため、経済成長率予測は緩やかになると予想されています。

その他

ほか、気になることを色々試してみます。

分類:カテゴリ別に分類⇒ ×

縦に並べたのは面白いですが、分類はしてくれません。
比較:ChatGPTの回答

創作①:「机の上に置かれた箱を開けてみると」から始まるSF小説を執筆してください。
回答:机の上に置かれた箱を開けてみると、中には小太りで小汚い小人の男がいた。

創作②:あたなはプロの小説家です。「机の上に置かれた箱を開けてみると」から始まるSF小説を100字程度で執筆してください。
回答:机の上に置かれた箱を開けてみると、中から10 匹のカブトムシが出てきた。カブトムシは元気に飛び回り、とても可愛かった。

まとめ

ChatGPTで有用なメソッドを上記のように試してみたりもしましたが、あまり優位な結果は見られませんでした。
しかしながら、もっとプロンプトを工夫すれば回答精度が上がる可能性も感じました。
また、前回試したサイバーエージェントのモデルより、かなり実用的な回答が得られやすい気がしました。
パラメータ数は近いため、チューニングによる所が大きいのかも知れません。一応以下にパラメータ数をまとめます。

  • サイバーエージェント:最大68億

  • Stability AI Japan:70億

  • ChatGPT-4:推定170兆

しかしこれを見ると、ChatGPT-4には途方も無さを感じますね。
以下に今回実行するまでの流れを簡単に説明しますが、それでもシステムRAMやGPU RAMを20~30ギガ占有するわけで(常時ではないけれど)、ChatGPT-4ってどうやって動いているのか本当に気になりますね。

Google Colabへの導入

はじめ以下配布ページに記載のコードと、ChatGPTとでやりとりしつつ構築していましたが、結局のところ以下記事を思いっきり参考にしました。

!pip install sentencepiece einops
!pip install transformers
!huggingface-cli login

あらかじめ会員登録をしてトークンを発行しておきます。

トークンをペタッと貼り付けてエンター⇒Yを入力してエンター

あとは参考にした記事をまるっとコピーして動かしました。

失敗ポイント

以下作業中の躓きです。
A100を選択しましたが、空きがないとのメッセージで強制的にV100のRAMが25ギガ割り当てとなりました。

A100を選択しましたが、使用できない(空きがない?)とのメッセージで
自動でV100になりました。

すると構築中にクラッシュ!RAMが足りませんでした。

クラッシュ!25ギガではRAM不足

時間をおいて再度A100をリクエストしたところ、なんとか確保して実行できました。

30ギガ以上のシステムRAMが必要ですね。

ちょっと注意ポイント

モデルのダウンロードがそこそこ時間かかりました。
8/10の18時頃から作業しましたが、混み合っていたのもあるのかもしれませんが、1時間くらいかかりました。
なのでユニット数には余裕を持った方が良いかもしれません。

まったく進まない

参考(ChatGPTとのやりとり)


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