見出し画像

友だちPython ep7. JGLUE

はじめに


友だちPython シリーズのご紹介

友だちPython シリーズは、Python の小ネタを短文でお届けします。
小さなエピソードを重ねてPythonと仲良しになれたら、と願ってシリーズ名を付けました。

話題


大規模言語モデル入門

書籍「大規模言語モデル入門」(技術評論社)をご紹介いたします。

この書籍は、ChatGPTなどに代表される「大規模言語モデル(LLM)」について、コードを写経しつつ、基礎から学べる良書です。
Google Colaboratory環境でPythonを動かして、さまざまな自然言語処理タスクにチャレンジできます。

この記事は JGLUE と transformers と 私の戯れの記録です。

今回の友だち

■ JGLUE (読み方不明:仮に「じぇいぐるー」と呼びます)
Yahoo! JAPAN研究所と早稲田大学の共同研究により2022年6月に公開された「日本語言語理解ベンチマーク」です。

いろいろなサッカー選手のイラスト(男性):「いらすとや」さんより

話題の概要

第5章の多肢選択式質問応答モデルで楽しい日本語遊びを体験しました。

実行環境
・Google Colaboratory(2023年11月28日時点)

遊んだ内容

書籍の「5.4.3 多肢選択式質問応答」の節では、著者が訓練した言語モデルを利用して、JGLUEの質問応答データセット JCommonsenseQA の検証データセットで評価したり、実際に多肢選択式質問応答タスクを実行できます。
この記事は、多肢選択式質問応答タスクでの遊び方例を示します。

■ 遊び方
書籍122ページの「 In[4] 」を改造したコードを実行して、AIに答えをもらいます。

# 著者が訓練したモデルに質問して回答を推論してもらうコード

# 回答選択肢
choices = ['月', '火', '水', '木', '金']
choices_dict = {f'choice{i}': c for i, c in enumerate(choices)}

# 質問文
q1 = {'question': '地球の衛星はどれ?', **choices_dict}
q2 = {'question': '一番高価なものはどれ?', **choices_dict}
q3 = {'question': '生命体にとって最も大切なものはどれ?', **choices_dict}
q4 = {'question': '1週間の始まりはどれ?', **choices_dict}
q5 = {'question': '1週間で一番憂鬱な曜日はどれ?', **choices_dict}
q6 = {'question': '1週間で一番好きな曜日はどれ?', **choices_dict}
q_list = [q1, q2, q3, q4, q5, q6]

# 推論を実行
answers = pipeline_multiple_choice(q_list)

# 質問と回答を表示
print('次の5つの選択肢から選んで下さい\n', choices, '\n', '-'*30)
for i, (q, a) in enumerate(zip(q_list, answers)):
    print(f'質問{i+1}: {q["question"]}')
    print(f'回答 : {a["prediction"]} です\n', '-'*30)

■ AIの答え

質問1~4の回答を読むと、著者が訓練したAIモデルが「天体、社会、生命、暦」に精通している様子がわかりました。
AIはクイズ大会で高得点を稼げそうですね!

ところで、質問5~6は個人的な感覚に関する質問です。
回答は・・・、誰の気持ちでしょう???
憂鬱かつ好きな曜日が「火曜日」とは。

もしかして、これを学習したのかしら?

みなさんも大規模言語モデルを存分に堪能してください!

心を持ったAIのイラスト:「いらすとや」さんより

おわり

ブログの紹介


noteで5つのシリーズ記事を書いています。
ぜひ覗いていってくださいね!

1.のんびり統計
統計検定2級の問題集を手がかりにして、確率・統計をざっくり掘り下げるブログです。
雑談感覚で大丈夫です。ぜひ覗いていってくださいね。
統計検定2級公式問題集CBT対応版に対応しています。

2.実験!たのしいベイズモデリングをPyMC Ver.5で
書籍「たのしいベイズモデリング」の心理学研究に用いられたベイズモデルを PyMC Ver.5で描いて分析します。
この書籍をはじめ、多くのベイズモデルは R言語+Stanで書かれています。
PyMCの可能性を探り出し、手軽にベイズモデリングを実践できるように努めます。
身近なテーマ、イメージしやすいテーマですので、ぜひぜひPyMCで動かして、一緒に楽しみましょう!

3.RとStanではじめる心理学のための時系列分析入門 を PythonとPyMC Ver.5 で
書籍「RとStanではじめる心理学のための時系列分析入門」の時系列分析トピックを PythonとPyMC Ver.5で取り組みます。
豊富なテーマ(お題)を実践することによって、PythonとPyMCの基礎体力づくりにつながる、そう信じています。
日々、Web検索に勤しみ、時系列モデルの理解、Pythonパッケージの把握、R・Stanコードの翻訳に励んでいます!
このシリーズがPython時系列分析の入門者の参考になれば幸いです🍀

4.Python機械学習プログラミング実践記
書籍「Python機械学習プログラミング PyTorch & scikit-learn編」を学んだときのさまざまな思いを記事にしました。
この書籍は、scikit-learn と PyTorch の教科書です。
よかったらぜひ、お試しくださいませ。

5.データサイエンスっぽいことを綴る
統計、データ分析、AI、機械学習、Python のコラムを不定期に綴っています。
「統計」「Python」「数学とPython」「R」のシリーズが生まれています。

最後までお読みいただきまして、ありがとうございました。

この記事が参加している募集

お金について考える

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