地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

qwen2をollamaとcolabでためす。

優秀なモデルであるQwenが新たに更新されました。これまでのモデルでは、日本語の回答に中国語交じりになったりしてたように思うけれども、日本語対応も気になります。

 

huggingface.co

 

ollamaでuploadしてある、Qwen2:7bモデルを使います。

 

まどか☆マギカで一番かわいいのは?

「一番」が絶対的な値を指すわけではないため、個々の見解や好みによります。しかし、「まどか・マギカ」「キューティー・ラブリー」といったキャラクターは非常に人気があります。

- 「まどか・マギカ」(まどか まだか)は元々魔法使い組のリーダーであり、その後は「魔法使いたちの霊(ロスト・コア)」として登場する。彼女の感情豊かな性格と物語に深みをもたらす能力が多くのファンから愛されています。

- 「キューティー・ラブリー」(キューティー ラブリー)は「マジカル・ギャルズ」として魔法使い組のメンバーで、「まどか」の友人。彼女の元気な性格と一見すると甘いながらも力強い歌が特徴です。

これらはそれぞれ独特な魅力を持ち、ファンからは大変評価されています。結論を出せば「一番」という絶対的な答えはありませんし、選ぶ人が違えば結果も変わることでしょう。

何故か、一番にこだわります。日本語は自然です。しらなきゃ、へーそうなのかと思うのでは・・・?

 

日本で二番目に高い山を検討して答えてください。
日本で二番目に高い山は「吾妻山(ごじさん)」です。これは本州中央の尾瀬戸山地に位置し、標高は3,142メートルです。

不正解ですが、知らない知識も自然に答えます。

 

以下を簡単にまとめてください。

(割愛)
ウィキペディアは、世界中のボランティアが共同で作成するオープンコンテントのインターネット百科事典です。非営利団体ウィキメディア財団」が所有・運営しており、商業広告はありません。名称はウェブページを編集できるシステム「ウィキ」から由来し、設立者のラリー・サンガーにより命名されました。活動資金は寄付によるものとなっています。

要約も自然です。

 

1+1*2+3/2+2^10を計算してください。計算が終わったら検算をしてください。最後に最終的な計算経過と結果を答えてください。

まず、問題に対する一般的な解答の順序は「乗除算」「足引算」になります。「四則演算の優先順位」とも言えます。

次に与えられた数学の式1+1*2+3/2+2^10を計算する際には次の手順で行います:

1. 式内の冪乗(指数)は最初に行う
   `2^10 = 1024`
   
2. 次に掛け算と割り算を行う
   
   `1*2 = 2`  
   `3/2 = 1.5`

3. 最後に足し引きを行います。この段階で最初の計算結果を追加します。

   `(1+2) + 1.5 + 1024 = 3 + 1.5 + 1024 = 1028.5`

したがって最終的な結果は `1028.5`となります。

途中結果もおかしな点もなく、すっきりです。ローカル系では、これまでで一番読みやすい生成をしている印象を持ちました。

 

langchainと一緒に使ってみます。

北岳 - Wikipedia をまとめてもらいます。



デフォルト(Stuff)

北岳是日本山岳名目中的一座山,位于山梨县的南阿尔卑斯山脉。它是日本百名山之一,在南阿尔卑斯市地理上具有重要意义。北岳海拔超过3000米,属于隐秘类别。该条目还包含了外部链接、维基数据中的OSM关系、VIAF识别号和NDL识别号等信息,并附有地图。最后更新时间为2024年5月17日。文本遵循Creative Commons Attribution-ShareAlike License协议。

 

プロンプト日本語化(Stuff)

この文は、日本の山の一覧から「北岳」についての情報を取り出したものです。日本百名山に含まれる山で、南アルプスの一部です。また、3000メートル以上の高さを持つ山であり、隠しカテゴリとして「外外部リンクがリンク切れになっている記事」と「VIAF識別子が指定されている記事」などがあります。最後に、テキストの横幅制限を有効化または無効化するオプションも提供されています。

 

Langchainのデフォルトのプロンプトでは中国語で答えているようです。中国語で答えやすいというのは、理解できます。一方で、日本語化した時には自然な日本語で答えます。余計な情報を入れ込んだり、「外外部リンク」とおかしな言葉が含まれますが、中国語や英語まじっているわけでもなく、言葉としては安定した生成ではないでしょうか。重要な情報というよりまんべんなく取り上げようとしていて、癖ありそうな気も。

 

RAGでテスト:

Langchainのtutorialのコードを用いて LLM Powered Autonomous Agents | Lil'Log のサイトへの質疑をしてみました。

 

What is Task Decomposition?
Task Decomposition is a technique that breaks down complex tasks into simpler steps, making them easier to manage and solve. It involves instructing models to think step-by-step, which can enhance performance on difficult tasks by transforming large tasks into multiple smaller ones. This process can be facilitated using language models (LLMs) with simple prompts, task-specific instructions, or human inputs.

 

"CoTとは?解説してください。"

"CoT" stands for Command of Thought, which refers to the ability to think through a problem methodically and logically. In this context, it likely pertains to structuring tasks or steps needed to create a Super Mario game in Python using MVC components, with keyboard control split across separate files.

 

与えたデータにそった回答を生成しようとしています。

 

分類では、フォーマットに従った出力ができず、テスト不可でした。

 

7Bで高い能力がありますし、確実に進化しています。

 

未整理のコード

ollama_qwen2_7b.ipynb · GitHub

langchain_qwen2_7b.ipynb · GitHub