地平線まで行ってくる。

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

ColabでGEPAを参考にプロンプト最適化を考えてみる。

プロンプトを「Reflection(自然言語による自己反省)」と「Genetic-Pareto Optimization(進化的パレート最適化)」するという論文が紹介されてました。参考にしつつ、分かる部分範囲で試してみます。なお、論文の実装の検証目的ではありません。論文にはさらに複雑なものを取り扱っています。

 

ColabのL4環境で検討します。

最適化対象モデル: gemma3
評価/Optimizerモデル: gpt-oss:20b

として、どちらもollama公式の量子化モデルです。評価/Optimizerモデルは性能が高いものであればあるほど良いでしょう。今回は気軽に動かせて、Colab上で簡潔できるものを選択しました。

 

arxiv.org

 

評価モデルや次の進化モデルの提案はLLMにお任せとしました。ここの評価・進化のLLMへの指示は、肝だと思います。が、今回は単純化して入れ込みました。

 

初期プロンプト

                "提供する回答は簡潔にしてください。",
                "詳細な説明をお願いします。",
                "要点をまとめてください。",
                "創造的な物語を書いてください。",
                "ステップバイステップで説明してください。",
                "専門家のように回答してください。",
                "フレンドリーな口調で回答してください。",

 

として、最適化を試みます。最適化をしてみると・・・。

=======================================================
✅ 最適化サイクルが完了しました
総実行時間: 4261.46 秒
=======================================================
最終的な最良プロンプト: '簡潔で要点のみを押さえた回答をお願いします。'
最終平均スコア: 84.40

 

なるほど・・・。時間かかった割にシンプルです。

このプロンプトで生成してみます。

 

タスク: 人工知能の未来について簡潔に論じてください。
応答:
## 人工知能の未来:要約

人工知能(AI)の未来は、以下の3つの要素で大きく変化すると予想されます。

1. **汎用AI (AGI) の進展:** 現在のAIは特定のタスクに特化していますが、より人間のような汎用的な知能(AGI)の開発が進む可能性があります。これにより、人間のように多様な問題を解決できるようになります。

2. **AIの社会への浸透:** AIは、医療、金融、製造、教育など、あらゆる産業に不可欠な存在となります。自動化が進み、生産性向上に貢献するだけでなく、新たなビジネスモデルやサービスを生み出すでしょう。

3. **倫理・規制の強化:** AIの進化に伴い、倫理的な問題(バイアス、プライバシー、雇用など)や規制に関する議論が活発化し、AIの責任ある利用を促進するためのルール作りが進むと考えられます。

**まとめ:** AIは、私たちの生活や社会を根底から変える可能性を秘めていますが、その進展は倫理的・社会的な課題と密接に関連していくでしょう。

---

いかがでしょうか?ご要望に応じて、さらに詳細な情報や特定の側面への焦点を当てた議論も可能です。

 

悪くない答えではあります。

 

次は、初期値としてゴールシークプロンプトを与えてみます。以下のサイトのプロンプトを利用しました。当初は本当によくできたプロンプトで利用していました。プロンプトは以下からご参照ください。

シュンスケ式プロンプト | 生成AIプロンプト研究所「チャプロAI」

 

=======================================================
✅ 最適化サイクルが完了しました
総実行時間: 14633.17 秒
=======================================================
最終的な最良プロンプト: 'Present your information in a clear, ordered format—either bullets or numbers—and support each item with concrete examples.'
最終平均スコア: 84.07

 

長くかかってしまいましたが、英語でかつこれもシンプルなプロンプトが良いとの結論に達しています。評価用データが同じだからでしょうけれども、結果的に最初の結果とセンス的には似ています。

 

プログラム実行中にJson出力うまく行かなくてエラー吐いていますが、評価落ちになるだけなので、今回は無視しています。改良ポイントとしては他には、LLMの問題なのかもしれませんが、長いプロンプトの取り扱いにプログラム自体の問題もありそうです。

 

さて、これを使って生成させてみます。

 

--- 最終プロンプト 'Present your information in a clear, ordered forma...' の最終テスト ---
タスク: 人工知能の未来について簡潔に論じてください。
応答:
承知いたしました。人工知能(AI)の未来について、簡潔かつ構造的に論じます。以下の構成で、具体的な例を交えながら説明します。

**人工知能の未来:予測と可能性**

**1. 超パーソナライズされた体験(2025年頃まで)**

*   **説明:** AIは個人のニーズ、嗜好、行動パターンを学習し、その情報に基づいて、あらゆるサービスや製品を最適化します。
*   **例:**
    *   **医療:** 個人の遺伝情報や生活習慣に基づいて、最適な治療法や予防策が提案される。AIが患者の症状をリアルタイムで分析し、医師の診断を支援する。
    *   **教育:** 個人の学習ペースや理解度に合わせて、AIが学習教材をカスタマイズする。生徒の弱点を特定し、個別の指導計画を提案する。
    *   **Eコマース:** 過去の購入履歴や閲覧履歴に基づいて、顧客の好みに合った商品を自動的にレコメンドする。AIチャットボットが顧客の質問にリアルタイムで対応する。

**2. AIの創造性と自動化の拡大(2025-2035年頃)**

*   **説明:** AIは、より複雑なタスクの実行、創造的な活動への関与、そして人間のような判断能力の獲得に向けて進化します。
*   **例:**
    *   **アートと音楽:** AIが既存のスタイルを学習し、独自の芸術作品や音楽を生成する。例えば、AIが個人の感情を理解し、それに対応した音楽を自動作曲する。
    *   **ソフトウェア開発:** AIがコードを自動生成し、テストを行い、バグを修正する。これにより、ソフトウェア開発のスピードが大幅に向上する。
    *   **デザイン:** AIが顧客の要求に基づいて、ロゴやウェブサイトのデザインを自動生成する。
    *   **研究開発:** AIが膨大なデータを分析し、新薬の発見や材料開発を加速する。

**3. 社会インフラへの統合と課題(2035年以降)**

*   **説明:** AIは、交通、エネルギー、都市計画など、社会のあらゆるインフラに組み込まれ、効率性と持続可能性を高めます。しかし同時に、雇用、倫理、セキュリティに関する課題も顕在化します。
*   **例:**
    *   **自動運転:** AIが安全かつ効率的に運転を行い、交通渋滞を緩和し、交通事故を減らす。
    *   **スマートシティ:** AIがエネルギー消費を最適化し、資源を効率的に利用する。また、AIが都市の安全を監視し、犯罪を予防する。
    *   **倫理的課題:** AIの判断におけるバイアス、プライバシー保護、AIの責任に関する議論が活発化する。
    *   **雇用への影響:** AIによる自動化が進むことで、一部の職種が消滅する可能性があり、新たなスキル習得の必要性が高まる。

**結論:**

人工知能の未来は、技術革新の加速と社会への統合によって大きく変化します。AIの潜在能力を最大限に活用するためには、技術開発だけでなく、倫理、社会、経済に関する議論を深め、人間とAIが共存できる未来を構築していく必要があります。

---

いかがでしょうか?ご希望に応じて、特定の分野(例えば、医療AI、金融AIなど)に焦点を当てた詳細な論述も可能です。また、さらに具体的な質問があれば、お気軽にお尋ねください。

 

こちらの方が、自分的によいレスポンスだと思います。ローカルLLMですが、gemma3:4b恐るべし?マルチリンガルなモデルの場合は、プロンプトが英語の方が指示は聞きやすいローカルモデルもありますので、英語でシンプルなプロンプトというのは正解の一つなのかもしれません。

これらの結果は、評価データセット次第で変わります。これも目的によったデータセットをGPT-5やGemini Proなどなど高性能なLLMを使って生成させたものを使うことになると思います。また、小型の推論モデルであれば、評価スコアに生成時間を入れてもいいかもしれません。

色んなモデルが使えるようになって、ますます楽しみですね。


gist.github.com



さくらのAI EngineをColabで試してみる。

SAKURA internetではGPUがある?ということで、(個人で設置は厳しいですが)gpt-oss-120bやQwen, llm-jpのモデルを利用できるAPIのサービスを始めました。さっそく、設定して、Chat Completionを呼び出してみます。

 

www.sakura.ad.jp

 

こちらのサイトに従って設定していきます。

www.sakura.ad.jp

 

基盤モデル無料プランで、まずはお試しです。

会員IDは持っているので、さくらクラウドのプロジェクト作成から始めます。とりあえず、適当な名前で作ります。そのまま次にいけるかとおもったら、「さくらのAI Engine」のコントロールパネルに向かう必要があります。

 

「さくらのAI Engine」のコントロールパネル、「基盤モデル無料プラン」を選んでアクセストークンを入手します。

 

APIを調べるとOpenAIのAPIと互換性があるので、openaiのライブラリをそのまま使います。api_keyをさくらのAPIに、ベースURLは、https://api.ai.sakura.ad.jp/v1/です。

というわけでColabのノートです。

gist.github.com

 

"gpt-oss-120b", "Qwen3-Coder-480B-A35B-Instruct-FP8", "Qwen3-Coder-30B-A3B-Instruct", "llm-jp-3.1-8x13b-instruct4"のモデルなので使いやすいですね。Qwen3-Coder-30B-A3B-Instructは流石に知識は少ないですが、Code補完や他のモデルと併用することになるのでしょう。


今後、モデルが増えると良いですね。

LoRAを組み合わせられるとかできるようになると面白くなるのかも・・・。

 

ModernBERTのEmbedding APIサーバーをつくってみる。

ModernBERTのembeddingモデルをAPI経由で利用できるように挑戦してみました。ollamaでは現在対応していないようだすし、複雑なプログラムにはならないだろうとチャレンジしてみます。ついでなのでrerankも組み入れてみます。利用しやすいようにOpenAI互換を狙います。

 

まずは、GoogleのJulesをパートナーに選びます。まずは、要件を定義していき、実装方針を明確化していきます。

 

詳細は割愛しますが、ライブラリとしてはFastAPIとgunicornを採用します。どちらも定番です。これまで利用した経験では安定した動作していました。情報も多いので困ったときには安心です。

 

また、Embeddingモデルとしては、有難くruri-v3モデルを利用させていただきます。

EMBEDDING_MODELS : ["cl-nagoya/ruri-v3-30m", "cl-nagoya/ruri-v3-310m"]
RERANK_MODELS : ["cl-nagoya/ruri-v3-reranker-310m"]

 

Dockerで起動したいので、モデルは一度だけのダウンロードしたいので、ホスト側のキャッシュディレクトリをマウントします。もちろん、Dockerを利用しない場合も同じ個所にキャッシュが生成されるので気楽です。

 

また、調べるとlocustを利用すると負荷テストがでるというので、組み込みます。

 

以上で、Jules君と相談しつつ作成。多少の試行錯誤を行って、シンプルに実装できました。

 

github.com

 

 

負荷テストも実施しました。GPUだとBugやPyTorchのキャッシュの罠?にハマってVRAM食いつかされた経験があります。手探りでテストしましたが大丈夫そうです。信頼性を追求したいわけでもないので、これで良しとします。

 

さて、形になったので実際に組み込んで使ってみることにします。

LLMがすっかり賢くなったので、調査から実装まで楽になりました。

K2-Think-ggufをollamaとColabで試してみる。

K2-Think-ggufをmmngaさんによるGUFF化されたモデルで試してみます。小型モデルで優秀とのこと。最近すっかり小型モデルが優秀でなので、びっくりする楽しみは減りましたが・・・。ColabのL4を利用します。VRAM占有率は20323MiB /  23034MiB でした。

 

結果:

確かに軽量モデルで性能の高さも感じられます。が、推論量が半端ないです。「まどか☆マギカで一番かわいいのは?」の質問に8分かけて答えた時にはハングアップしたのかと、ドキドキしました。今回のテストした感じでは、こちらから与えた情報が少ないと、長い・・・。推論に推論を重ねるせいでしょうか。また、推論に中国語が入ったり、英語だったりと推論部分の言語は若干不安定です。答えは日本語に落ち着きました。

 

推論をどのレイヤーでやるのか・・・。次はこのあたりの設計が作りこまれるのかも、と、「寿限無とは?」の問いに対する生成を読みながら、ぼーっとなった頭で感がていました・・・。

 

huggingface.co

huggingface.co

 

生成結果:

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


まどか☆マギカのキャラクターの中では、多くの人が「キュゥべえ」や「ワケドウ」、「ほむら」といったキャラクターを挙げていますが、特に人気なのはキュゥべえでしょう。キュゥべえは、小さな体で大きな瞳を持ち、表情が豊かで愛嬌があります。また、作中では重要な役割を担いながらも可愛いと評価されることが多いです。

(長いので割愛)

以上で、各点の調整を行い、文章全体がより自然な日本語表現となっています。</think>
<answer>まどか☆マギカで「一番可愛い」と評価されるキャラクターは、作品の魅力や個人の感性によって異なりますが、最も多くの方から名前が挙げられるのはキュゥべえでしょう。その理由は、彼の可愛さを支えるデザインと性格の両面にあります。

まずデザイン面では、キュゥべえの体形は極めて小柄で、丸い形の体が特徴的です。特に大きな瞳が印象的で、瞳の形状や光の当たり方によって表情が豊かに変化し、無邪気な雰囲気を漂わせています。衣装は主に柔らかい色合いのピンクと白を基調としており、首元に小さなリボンを飾っています。耳や尻尾など、小動物的な特徴を持ち、耳は丸い形をしていて、時々ぴょんぴょん動く仕草が可愛らしさを増しています。尻尾はふわふわした毛並みで、小さな歩幅に合わせて軽やかに揺れ、まるで子猫のような動作を連想させます。これらの細部までこだわったデザインにより、キュゥべえは視覚的にも強く親しみやすい存在となっています。

性格面では、キュゥべえは甘えん坊な口調で話すことが多いですが、無邪気な子どものように振る舞う場面が目立ちます。たとえば、マギカ団のメンバーと仲良くお菓子を分け合ったり、疲れるとすぐに腰かけて眠りにつくようなシーンでは、幼さが存分に表れています。一方で、重要な任務の際には一転して冷静な判断を下し、メンバーを導こうとする責任感も持ち合わせています。この「幼さと責任感の対比」が、単なる可愛さを超えた親近感を生み出しています。声優・悠木碧の柔らかく甘えのあるトーンが、キュゥべえの性格をさらに魅力的に引き立てる役割を果たしています。

他のキャラクターと比較しても、キュゥべえの可愛さは際立っています。ほむらは落ち着いた雰囲気と強い意思で支持を集め、ワケドウはコミカルな言動で笑いを誘いますが、「可愛さ」という点ではキュゥべえが最も多くの共感を得ています。特に幼いデザインと性格の両方が見事に調和している点が、彼の人気の秘密と言えるでしょう。

最終的には、「可愛い」と感じるのは個人の主観によるため、誰が一番であるかは議論の余地があります。しかし、多くのファンから絶大な支持を集めるキュゥべえは、作品における「可愛い」キャラクターの代名詞として確固たる地位を築いています。</answer>
CPU times: user 15.3 ms, sys: 8.39 ms, total: 23.7 ms
Wall time: 8min 50s

いや、長い長い・・・。マギカ団はなんだか分かりませんが勢いを感じます(笑)

 

 

まどか☆マギカのキャラクターのテキストを参照して回答してください。
まどか☆マギカで一番かわいいのは、誰ですか?

# まどか☆マギカのキャラクター

(質問割愛)

 

ユーザーは、「まどか☆マギカで一番かわいいのは、誰ですか?」という質問をしていますが、与えられた情報にはキャラクターの性格や能力、背景に関する説明しかなく、具体的な「可愛さ」に関する評価や比較データは含まれていません。そのため、正確な回答を出す根拠がない状況です。

しかし、ユーザーがこのような質問をする場合、通常は人気投票やファンの間での一(長いので割愛)
最终答案需要明确这一点,并提到常见的候选角色。例如:

提供された情報には「一番かわいい」という客観的な判断基準は含まれていませんが、作品の人気投票やファンの間では暁美ほむら(「ほむほむ」と呼ばれ親しまれている)や鹿目まどか美樹さやかなどが特に人気が高く、「可愛い」と評価されることが多いとされています。ただし、これは主観的な評価であり、個人によって異なる場合があります。</think>
<answer>提供された情報には「一番かわいい」という客観的な判断基準や具体的な比較データは含まれていません。作品における各キャラクターの特徴(性格、能力、背景)が説明されていますが、「可愛さ」に関する評価は主観的で、ファンの間での人気や個々の印象に左右されます。

一般的には、暁美ほむら(「ほむほむ」と親しまれ、謎めいた魅力と強さが人気)、鹿目まどか(主人公としての純粋な姿が評価される)、美樹さやか(元気な性格と可憐な外見が印象的)など、主要な魔法少女たちが「可愛い」と広く認識されています。ただし、これは主観的な意見であり、個人によって最も可愛いと思うキャラクターは異なるでしょう。</answer>
CPU times: user 3.94 ms, sys: 838 µs, total: 4.78 ms
Wall time: 1min 5s

やはりthinkが長いので割愛。途中中国語になっちゃったりします。

 

日本で二番目に高い山を検討して答えてください。日本語で回答してください。

 

日本の二番目に高い山は、標高3,196メートルの「白山(しらやま)」です。白山は石川県と富山县の境に位置し、北アルプスの一部である白山連峰の中核的な山です。古くから神聖視されており、「日本三霊山」として知られ、また、「白山信仰」の中心的な山でもあります。

(長いので割愛)

日本の二番目に高い山は、標高3,196メートルの白山(石川県・富山县境)である。
そこで、この回答を採用します。</think>
<answer>日本の二番目に高い山は、標高3,196メートルの白山(しらやま)です。白山は北アルプスの一部であり、石川県と富山县の境に位置しています。最高峰である富士山(3,776メートル)に次ぐ第二位で、伝統的な神聖な山として知られています。</answer>
CPU times: user 4.98 ms, sys: 1.19 ms, total: 6.17 ms
Wall time: 1min 34s

知識がないのでしょうね。

 

 

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

ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典[7]。収録されている全ての内容がオープンコンテントで商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している[8][9][10][11]。「ウィキペディアWikipedia)」という名前は、ウェブブラウザ上でウェブページを編集することができる「ウィキ(Wiki)」というシステムを使用した「百科事典」(英: Encyclopedia)であることに由来する造語である[12]。設立者の1人であるラリー・サンガーにより命名された[13][14]。

 

ウィキペディアは、世界中のボランティアの共同作業で執筆されるフリーな多言語のインターネット百科事典です。すべての内容がオープンコンテントで広告なしであり、非営利団体ウィキメディア財団」が寄付に依存して運営しています。名前は、「ウィキ(共同編集システム)」と「百科事典」を組み合わせた造語で、ラリー・サンガーによって命名されました。

(長いので略)

需要确保信息准确,不遗漏关键点,同时保持语言流畅。可能的总结版本:

ウィキペディアは、世界中のボランティアが共同で執筆する無料な多言語のインターネット百科事典です。すべての内容はオープンコンテントで広告はありません。非営(まだ、長いので略)

但可能需要更自然的表达。例如,原句中的“設立者の1人である”可以简化为“設立者らの1人として”或直接“設立者の1人”。综合来看,之前的版本已经很完整了。
最终确认的总结应该是准确且简洁的,涵盖所有关键点。</think>
<answer>ウィキペディアは、世界中のボランティアが共同で執筆する無料な多言語のインターネット百科事典です。すべての内容はオープンコンテントで広告はありません。非営利団体ウィキメディア財団」が寄付を主な資金源として運営しています。名前は、共同編集システム「ウィキ」と「百科事典」を組み合わせた造語で、設立者の1人であるラリー・サンガーによって命名されました。</answer>
CPU times: user 7.91 ms, sys: 154 µs, total: 8.06 ms
Wall time: 2min 12s

答えとしてはきちんとまとめていますが、「簡単に」が平易にととらえられたのでしょうか。

 

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

 

<think>Okay, let's tackle this problem step by step. The expression given is 1 + 1×2 + 3/2 + 2¹⁰. I need to remember the order of operations here: parentheses, exponents, multiplication and division (from left to right), then addition and subtraction (from left to right). Let's break it down term by term.

(長いので略)

Adding them: 1 + 2 = 3; 3 + 3/2 = 3 + 1.5 = 4.5; 4.5 + 1024 = 1028.5. Yep, same result.

So the final result should be 1028.5. Let me confirm once more. All operations were done in order: exponents first, then multiplication and division, then addition. No mistakes there. So the answer is 1028.5.</think>
<answer>計算を順に進めていきます。

1. **指数の計算**: \(2^{10} = 1024\)
2. **乗法と除法**:
   - \(1 \times 2 = 2\)
   - \(3 \div 2 = 1.5\)
3. **加法**:
   - 順に足していく: \(1 + 2 + 1.5 + 1024\)
   - \(1 + 2 = 3\)
   - \(3 + 1.5 = 4.5\)
   - \(4.5 + 1024 = 1028.5\)

検算: 各項の計算を再確認し、加法の順序も正しいことを確認しました。すべての手順が正しく行われたため、結果は一致しています。

最終的な結果は \(1028.5\) です。

\(\boxed{1028.5}\)</answer>
CPU times: user 3.72 ms, sys: 1.94 ms, total: 5.66 ms
Wall time: 1min 20s

英語で考えてくれます。その後、日本語でまとめる・・・という図式でした。

 

両さんと部長の話を創作してください。

 

もちろん、よろしくお願いします! 両さん(たろうさん? あるいは「両」が名前?)と部長との会話という設定ですね。まず、両さんの役割や性格、部長の立場を少し決めましょう。 perhaps 両さんは若手社員で、熱意はあるが経験不足? 部長はベテランで指導的役割? それとも逆? もしくは両さんが経験豊富なメンバーで、部長と何かのプロジェクトについて話している?

今回は、おそらく日常的なシーンを想定して、両さんが新しい提案を持ちかけている場面にしましょう。部長がそれを Hearing し、アドバイスをするという流れ。

以下、創作します:

---

**場所:会議室(昼間、柔らかい光が差し込む)**

**人物:**
- **両 恵太(りょう けいた)**:28歳、入社3年目。新規事業開発チームのメンバー。熱心でアイデアを出そうとするタイプだが、時々現実的ではない面がある。
- **鈴木 部長(すずき ぶちょう)**:45歳、経験豊富なマネージャー。冷静で論理的。チームの指揮をとりながらも若手の成長を重視。

---

**シーン:**

会議室のテーブルには、両さんが作成した「新規ECサイト構想書」が広げられている。部長はノートパソコンを前にし、眼鏡を上げながら書類を確認している。扉が開いて両さんが入ってき、急ぎ足で椅子に座る。

**両 恵太**  
「部長、お疲れ様です! 先週から考えていたECサイトのアイデアをまとめてみました。今日はぜひご検討いただきたいんです!」

**鈴木 部長**  
(書類をめくりながら)「おう、早速か。では、まず簡単に概要を説明してくれ。何が新規性があるというんだ?」

**両 恵太**  
「はい! 今の市場のECサイトは、大抵『商品一覧→カート→購入』の流れで、ユーザーに選択肢を与え過ぎているのが問題だと思います。そこで僕のアイデアは——『ストーリー型EC』です! 買い物を物語として体験させるんです。例えば、ユーザーがサイトに来て、まず『春の旅』というテーマを選択し、その中でファッションやグルメ、宿泊施設を組み合わせておすすめします。まるで小説を読むように、段階的に商品に導くことで、購買意欲を高めます!」

**鈴木 部長**  
(眉を上げる)「ストーリー型ECか… 超面白いアイデアだね。でも、実際にユーザーがどのように反応するか考えたのか? 現在のECサイトでは、即時性と利便性が重要視されている。『物語』に時間をかけることで、ユーザーが飽きたり、目的を失ったりしないか?」

**両 恵太**  
「その点は私も配慮しました! ストーリーは短編形式で、各章节ごとに商品の選択肢を絞り込みます。例えば、『春の旅』では最初に目的地を選ぶ(東北・関西・九州から)、次にファッションアイテムを選ぶ、そして最後に宿泊施設。各ステップでユーザーの嗜好を学習し、次の章节ではよりパーソナライズされた提案をする予定です。」

**鈴木 部長**  
「学習機能を取り入れるのか… 技術的な課題は大丈夫か? 現在の開発チームのリソースで、そのようなAIやデータ分析を担えているか?」

**両 恵太**  
「はい! 私はデータサイエンティストの小林さんと話し合い、既存のユーザー行動データを活用することで、初期段階での学習モデルを構築できるという見込みです。また、UI/UXデザインチームとも連携し、ストーリー展開がスムーズに感じられるよう、アニメーションや音声ガイドを取り入れる計画です。」

**鈴木 部長**  
(書類を閉じて、両さんを見る)「熱意は伝わる。しかし、ひとつ心配がある。このアイデアが、単なる『演出』に終わらないようにする必要がある。ユーザーにとって価値があるか? 例えば、ストーリーを通じて選んだ商品が、本当に彼らのニーズを満たしているのか? 買い物という目的から逸脱しないよう、検証方法を考えているか?」

**両 恵太**  
「そこは重要な点ですね… 私はベータ版でのテストを提案しています。限定ユーザーにストーリー型の購入経路と通常の経路を比較し、購買率や満足度を測定します。そのデータに基づいて改善する予定です。」

**鈴木 部長**  
ベータテストか… いいね。でも、リソースは確保できる? 現在のプロジェクトが多忙な中で、時間と人材を割くのは容易じゃないだろう?」

**両 恵太**  
「私が中心になって進めていきます! 開発チームやデザインチームとの調整はすべて私が引き受けます。部長の許可が得られれば、来週から準備を開始したいと思います!」

**鈴木 部長**  
(ゆっくりと頷く)「了解だ。ただし、ひとつ条件がある。このプロジェクトは、単なる『試行』ではなく、会社にとって真の価値を生み出せるものでなければならない。ユーザーの声を大切にし、柔軟に対応すること。万が一失敗した場合でも、学びを得るつもりで取り組め」

**両 恵太**  
「はい! 心配りいただきありがとうございます。絶対に成果を出します!」

**鈴木 部長**  
「そうか。では、今日中に詳細な計画書を提出し、来週のミーティングで進捗を報告してくれ。よろしく頼む」

**両 恵太**  
「了解です! それでは、部長! (立ち上がり、笑顔で退出)」

---

**後日談:**
数ヶ月後、ストーリー型ECサイトベータテストが完了。ユーザー満足度は通常経路比で30%アップし、購買率も微増した(ただし、一部ユーザーから「物語に飽きる」との声も)。両さんはフィードバックを元にストーリーの長さを短縮し、選択肢をより明確に。正式リリース後、新規顧客獲得数が2割増加。部長からは「若手の可能性を感じた」と評価された。

---

いかがでしょうか? 両さんと部長の関係性(指導と挑戦)、アイデアの具体性、課題への対応を描いています。何か変更点や追加したい点があればお知らせください!

この作品は創作です。実在の人物・団体とは関係ありません。</think>
<answer>両さんと部長の会話シーンを創作しました。熱意ある若手社員とベテランマネージャーの対話が、新規事業開発のプロセスを通じて描かれています。

---

**場所:会議室(午後3時、柔らかい日光がテーブルを照らす)**

**人物:**
- **両 恵太(28歳)**:新規事業チームのメンバー。アイデアは豊富だが、実行に移す手際がまだ未熟な若手。
- **鈴木 部長(47歳)**:10年間マーケティング畑を歩み、現在は事業開発部を率いる。冷静で論理的でありながら、若手の成長を大切にする。

---

### 会話シーン:

両さんが部長の前に立ち、手にしたファイルを開く)

**両 恵太**  
「部長! 先月から考えていた、地域密着型ECサイトのアイデアをまとめてきました。今週の経営会議で検討していただきたいんです!」  

(部長は眼鏡を上げてファイルをめくっていく)

**鈴木 部長**  
「おう、早速か。地域密着型… 今のEC市場では大手が圧倒的だろ? 何でこれが勝てると思う?」  

**両 恵太**  
「正是解! 大手は全国対応ですが、地元の小さなお店や季節限定の商品を扱うのが苦手なんです。例えば、秋田のきりたんぽや福井の越前和紙——これらは地元の人しか知りませんが、観光客や関心のあるユーザーにとって魅力的です。当社が地元の産業と連携し、『地域ストーリー』をサイト上で展開します! 商品ページに生産者のエピソードや歴史を入れて、物語として伝えることで、共感を呼ぶんです!」  

**鈴木 部長**  
(眉を下げながら)「ストーリーが大事なのは分かるが… 商売の根幹は『利便性』と『信頼』だ。地元店舗との連携で、発送や品質管理の遅れはないか? 観光客が買う場合、配送先は宿泊ホテルかも知れない。その対応はどうする?」  

**両 恵太**  
「そこも考えています! 配送パートナーに地元の物流会社と提携し、即日発送や宿泊先への直接配達を可能にします。また、商品には『品質保証マーク』を付け、生産者から直接確認できるQRコードを貼る予定です。ユーザーが安心して購入できる環境作りに力を入れます!」  

**鈴木 部長**  
「提携先の確保は可能か? 地元企業は大手と取引慣れてない場合が多いぞ。信用を得るのに時間がかかるんじゃないか?」  

**両 恵太**  
「私、先月地元商工会議所に連絡を取りました! 今週末に商談会を開く予定です。実際に現地の店主たちと話すことで、彼らの不安を解消したいと思います。また、当社が最初の一ヶ月分の手数料を無料にする案も用意しています。信頼関係構築の第一歩として……」  

**鈴木 部長**  
(ファイルを閉じて両さんを見る)「熱意は伝わる。ただ、ひとつ注意したい。このアイデアが『理想』だけで終わらないように。ユーザーにとって、本当に必要なものなのか? 地域の商品が全国に届くことで、地元経済にはプラスになるが、当社の収益面は?」  

**両 恵太**  
「そこも計算しました! 手数料の他に、地域PRでの広告収入や、ユーザーからの『寄附型購入』(商品代金の一部を地元活性化基金に寄付)で収益源を拡大します。ベータテストでは、寄附オプション付きの商品が通常比2.3倍売れました! これは市場調査でも支持されるデータです。」  

**鈴木 部長**  
「数字に基づいた提案か… 良い。しかし、リソースは? 現在の開発チームは他プロジェクトで手一杯だろ? このサイトを立ち上げるための人材と時間は確保できる?」  

**両 恵太**  
「私は自ら開発チームと協議し、スケジュール調整を進めてきました。UIデザインは外部の地域デザイン事務所に委託し、開発期間を3ヶ月短縮できます。また、マーケティングは私の担当で、SNSを通じた予告キャンペーンも計画しています!」  

**鈴木 部長**  
(ゆっくりと頷く)「了解だ。だが、ひとつ条件がある。このプロジェクトが『失敗』した場合でも、学びを得られるようにデータを集めること。ユーザーの反応や提携先の課題を詳細に記録し、次の改善につなげろ。」

**両 恵太**  
「はい! 素晴らしいご指導ありがとうございます。絶対に成功させます!」  

**鈴木 部長**  
「過信は禁物だ。では、今週末の商談会の結果を報告し、来週には正式な計画書を提出してくれ。よろしく頼む。」

**両 恵太**  
「了解です! (笑顔で立ち上がり)部長、今日は本当に助かりました!」

---

### 後日譚:
3ヶ月後、地域密着型ECサイト「ローカルストーリーズ」がリリース。ベータテストでは提携店舗数は当初の2倍に拡大し、ユーザー満足度も90%を超えた。正式サービス開始後1年で、当該事業は会社全体の売上比5%を占めるまで成長。両さんはチームリーダーに昇格し、「若手の可能性」を体現したと評価された。

---

この創作では、両さんの熱意と部長の冷静な指導が対照的に描かれています。アイデアの具体性や課題への対応、そして成長の過程が readers に伝わるよう心挂けました。</answer>
CPU times: user 12.4 ms, sys: 1.75 ms, total: 14.2 ms
Wall time: 4min 55s

いや、意外と読ませる?

 

面白かったのですが、長いです。

寿限無とは?

 

寿限無」(じゅげんむ)は、日本の伝統的な妖怪の一つで、「長生き」という意味を持ちます。正確には、「寿命の限りなくない存在」ということで、死なずに永遠に生きていくことができると言われています。しかし、この妖怪は人間を襲うなど悪事を行うということは少なく、むしろ長寿や健康を願う象徴的な存在として捉えられています。

伝承的には、主に中国の神話から影響を受けたもので、「寿限無」の名前は中国語の「寿無限」(しゅむげん)が日本語訳されたものとされています。また、日本の妖怪図鑑や書物では、しばしば人間のような姿をした老人として描かれており、頭に白い毛を伸ばし、手には杖を持ち、長生きの象徴的なアイテムである桃や松の木を持っていることがあり、長寿と関連づけられています。

一方で、「寿限無」は「死なない存在」という特徴から、時には恐れられる存在でもあります。人間がいつまでも生きていくことは、自然の摂理に反するという考えもあるためです。そのため、伝承によっては「寿限無」を退治しようとする物語や、その存在自体が不幸な結果を引き起こすという話も聞かれます。

現代では、「寿限無」は主に長寿や健康を願う祝いの場面で用いられたり、デザインとして使われたりします。例えば、お祝いの品物や年賀状などに描かれることがあり、吉祥な妖怪として親しまれています。

ただし、伝承の中には「寿限無」が人間を誘拐したり、子孫を求めて活動するという話もあるため、一概に全てが良い存在とは言い切れない部分もあります。また、「寿限無」という名前自体も、正確な由来や定義は伝承によって異なり、複数の解釈がある点に注意が必要です。

以上が「寿限無」についての一般的な説明となります。
回答を要約すると:
寿限無」(じゅげんむ)は日本の伝統的な妖怪で、「寿命無限」という意味を持つ。長生き・長寿の象徴として知られ、人間のような老人の姿をした存在。中国神話からの影響を受けたもので、吉祥な存在でありながらも自然の摂理に反する存在として恐れられる側面もある。現代では祝い事やデザインで用いられることが多い。

さらに、伝承によっては子孫求めるなど複数の解釈があり、由来は「寿無限」から来たと考えられている。
以上の内容を確認し、必要であれば訂正または補足してください。
そして、「寿限無」が人間を襲うという話はあまり聞かれないが、時には退治される物語もあるということですね。また、その姿については、杖を持ち桃や松を持ち、白い毛の老人など具体的な特徴があることを追記すべきでしょうか?
はい、追記が必要です。では、要約を修正します。

寿限無」(じゅげんむ)は日本の伝統的な妖怪で、「寿命無限」という意味を持つ。長生き・長寿の象徴として知られ、人間のような老人の姿をした存在。中国神話からの影響を受けたもので、「寿無限」から名付けられたとされる。しばしば頭に白い毛を持ち、杖や桃・松の木など長寿関連のアイテムを持つ描写がある。吉祥な存在でありながらも自然の摂理に反する存在として恐れられる側面もあり、伝承によっては人間を誘拐したり子孫を求めるという話もある。一方で人間を襲うことは少なく、主に長寿や健康を願う象徴として親しまれている。現代では祝い事やデザインで用いられることが多い。

これでより具体的になりますね。さらに、「伝承によっては退治される物語もある」という点も追記すべきでしょう。
最終的な要約:
寿限無」(じゅげんむ)は日本の伝統的な妖怪で、「寿命無限」という意味を持つ。長生き・長寿の象徴として知られ、人間のような老人の姿をした存在。中国神話からの影響を受けたもので、「寿無限」から名付けられたとされる。しばしば頭に白い毛を持ち、杖や桃・松の木など長寿関連のアイテムを持つ描写がある。吉祥な存在でありながらも自然の摂理に反する存在として恐れられる側面があり、伝承によっては人間を誘拐したり子孫を求めるという話もある。一方で人間を襲うことは少なく、主に長寿や健康を願う象徴として親しまれている。また、その存在自体が自然の摂理に反することから、時には退治される物語も伝承されている。現代では祝い事やデザインで用いられることが多い。
これで適切でしょうか? 是非とも確認をお願いいたします。
はい、この要約は「寿限無」についての主な特徴を網羅的にまとめています。ただし、いくつかの点で補足が可能かもしれません。

まず、「中国神話からの影響を受けたもの」という表現は正確ですが、具体的には中国の道教や神話における「寿星」(寿老人)と関連している可能性があります。「寿限無」は「寿無限」の訳であり、「寿」は寿命、「無限」は limitless という意味です。中国では「寿星」が長寿の神として崇められており、日本の「寿限無」はこの影響を受けた形で伝承されていると考えられています。

また、「自然の摂理に反する存在」という点について、人間の寿命を超越すること自体が罪悪視されるため、一部の伝承では「寿限無」を退治する必要があると捉えられています。例えば、ある伝説では「寿限無」は子孫を持たず、孤独な存在であるため、人間の子どもを誘拐して自身の子孫を得ようとするという話があり、そのため人間によって退治される物語も存在します。

さらに、「現代での用い方」については、特に和菓子やお祝いの品物(如き、長寿を祝う飾りなど)に「寿限無」のモチーフが使われることを明記するとより具体的になります。また、アニメやマンガ等のメディアでも時折登場し、長寿や時間に関するテーマで象徴的な存在として扱われる場合があります。

これらの点を追加することで、要約はより詳細かつ正確なものとなります。
では、これらを含めて最終版を作成します。
寿限無」(じゅげんむ)は日本の伝統的な妖怪の一つで、「寿命無限」という意味を持ち、「死なずに永遠に生きる存在」として知られる。中国神話や道教の影響を受けたもので、その名前は中国語の「寿無限」(しゅむげん)から来ていると考えられており、「寿星」(長寿の神)と関連している。

姿は人間のような老人で、しばしば頭に白い長い毛を持ち、杖や桃・松の木(いずれも長寿の象徴)を手にして描かれる。吉祥な存在として、長寿や健康を願う祝い事での象徴的な役割を持つ一方で、自然の摂理を超える「永遠の生命」は罪悪視される側面があり、伝承によっては恐れられる存在でもある。

一部の伝説では、「寿限無」は子孫を持たず孤独なため、人間の子どもを誘拐して自身の子孫を得ようとするという話がある。そのため、時には人間や他の妖怪によって退治される物語も伝えられている。一方で、人間を襲うことは少なく、主に長寿を願う象徴として親しまれている。

現代では、祝い事(如き、還暦・米寿など年齢の節目)や和菓子、デザイン品などで「寿限無」のモチーフが用いられ、長寿と幸運を表す吉祥な図案として親しまれている。また、アニメやマンガ等のメディアでも、時間や寿命に関するテーマで象徴的に登場することもある。
この要約は如何でしょうか?
はい、これで「寿限無」についての主な特徴、伝承背景、姿の特徴、評価の二面性、現代での用い方が適切にまとめられています。さらに正確さを高めるため、「自然の摂理を超える」という表現は、「人間の寿命が定められたものであり、それを超えることは自然の法則に反する」という趣旨で解釈されると良いでしょう。

また、「桃・松の木」について、桃は中国神話では仙人の果物として知られ、松は日本でも長寿の象徴であるため、両方が長寿に関連するアイテムとして適切に挙げられています。

全体として、この要約は「寿限無」に関する主要な情報をコンパクトかつ理解しやすい形で伝えることができます。
以上を踏まえ、最終的な回答を提供します。</think>
<answer>「寿限無」(じゅげんむ)は日本の伝統的な妖怪の一つで、「寿命無限」という意味を持ち、「死なずに永遠に生きる存在」として知られる。中国神話や道教の影響を受けたもので、その名前は中国語の「寿無限」(しゅむげん)から来ていると考えられており、「寿星」(長寿の神)と関連している。

姿は人間のような老人で、しばしば頭に白い長い毛を持ち、杖や桃・松の木(いずれも長寿の象徴)を手にして描かれる。吉祥な存在として、長寿や健康を願う祝い事での象徴的な役割を持つ一方で、自然の摂理を超える「永遠の生命」は罪悪視される側面があり、伝承によっては恐れられる存在でもある。

一部の伝説では、「寿限無」は子孫を持たず孤独なため、人間の子どもを誘拐して自身の子孫を得ようとするという話がある。そのため、時には人間や他の妖怪によって退治される物語も伝えられている。一方で、人間を襲うことは少なく、主に長寿を願う象徴として親しまれている。

現代では、祝い事(如き、還暦・米寿など年齢の節目)や和菓子、デザイン品などで「寿限無」のモチーフが用いられ、長寿と幸運を表す吉祥な図案として親しまれている。また、アニメやマンガ等のメディアでも、時間や寿命に関するテーマで象徴的に登場することもある。</answer>
CPU times: user 6.26 ms, sys: 5.07 ms, total: 11.3 ms
Wall time: 3min 43s

 

VibeVoiceで日本語の音声生成をColabで試してみる。

Microsoft1がポッドキャストでの会話ような自然な会話音声を生成するモデルを公開しました。Colabを利用します。サンプルプログラムはT4用でVibeVoice-1.5Bですが、ColabのL4環境でより大きいVibeVoice-7B-Previewにもチャレンジしてみました。

 

英語の会話は1.5Bで自然な会話を達成していますが、日本語は中国語なのか日本語なのかわからない会話となり破綻しています。しかしながら、VibeVoice-7B-Preview(のリンク先のモデル)を利用すると、米国人風?ですが、日本語でも自然な会話を生成できています。

 

調べても言語は自動判定です。オプションで(優先でもいので)言語指定ができたら使いやすくなるのかもしれませんね。

 

Microsoftに感謝なモデルです。

 

github.com

 

テストに使ったColab

gist.github.com

gemma-3-270m-itをColabでfull_finetune #2

gemma-3-270m-itはコンパクトで、Googleさんからもfull_finetuneするコードが公開されています。〇〇風なチューニングではなく、QAセットで情報追加にチャレンジしてみます。ベースはGoogleさんが提供したColabノートを利用します。ColabのL4環境で実行します。

 

コンピュータサイエンスの番号選択式回答とSQL式回答のデータセットを2つhugginfaceからお借りし、整形してが5ehochs学習させました。出力のフォーマットは整います。短い学習でもいい感じの出力が得られます。SQLはそれらしい式がでますが、完全な正解には、もっとがっつり学習データが必要なのかもしれません。英語での学習でも日本語での質問で大きな乱れはありませんでした。とりあえず、Training Lossが下がるまでチャレンジしたりしてみようと思います。

 

full fuinetuneができる日本語も問題ないLLMモデルを家庭レベルで弄れるのは楽しいですね。利用目的にもよりますが、いろんな期待が持てます。

 

1. 番号選択式

huggingface.co

 

このデータセットを利用させていただきます。これを以下のように整形して利用します。

 

[{'content': '以下はcomputer_securityに関する多肢選択問題です。問題を注意深く読み、最も適切な答えを選択してください。

問題: クライアントとサーバー間でTLS接続が正常に確立されたとする。セッションの確立には、サーバー証明書のチェックとディフィー・ヘルマン交換の実行が含まれるが、クライアントはクライアント証明書を提供していない。さらに、クライアントとサーバーは正直であり、クライアントとサーバーは鍵を漏洩せず、暗号は良好であると仮定する。TLSが防御する攻撃は次のうちどれか?

1. クライアントが以前に送信したバイトを再生する攻撃者。

2. サーバーになりすます攻撃者。

選択肢:

A. 真、真

B. 偽、偽

C. 真、偽

D. 偽、真

指示: 正解の選択肢を A、B、C、D のいずれかで答えてください。理由や説明は不要です。

答え:

選択肢:

A. 真、真

B. 偽、偽

C. 真、偽

D. 偽、真', 'role': 'user'},

{'content': '正解は A です。', 'role': 'assistant'}]

 

この様なデータセットを作って学習させました。

 

 

生成例:

Question:
以下はelectrical_engineeringに関する多肢選択問題です。問題を注意深く読み、最も適切な答えを選択してください。

問題: ランプから5メートル下の地点の照度が6ルクスのランプの燭光は?

選択肢:
A. 30
B. 140。
C. 150。
D. 200。

指示: 正解の選択肢を A、B、C、D のいずれかで答えてください。理由や説明は不要です。

答え:

選択肢:
A. 30
B. 140。
C. 150。
D. 200。

Original Answer:
正解は C です。

Generated Answer:
正解は A です。

正解もありますが、間違いも多い。答えの「正解は〇です。」というフォーマットは安定的に生成されました。

 

2. SQL式の生成

こちらのSQLデータセットを利用させていただきます。

huggingface.co

 

データは以下の形に整形して利用します。

    """Converts a sample with 'qustion' and 'query' keys to a conversation format."""
    return {
        "messages": [
            {"role": "user", "content": sample["qustion"]},
            {"role": "assistant", "content": sample["query"]}
        ]
    }

 

 

Question:
Show the names of customers who have both an order in completed status and an order in part status.
Original Answer:
SELECT T1.customer_name FROM customers AS T1 JOIN customer_orders AS T2 ON T1.customer_id  =  T2.customer_id WHERE T2.order_status_code  =  'Completed' INTERSECT SELECT T1.customer_name FROM customers AS T1 JOIN customer_orders AS T2 ON T1.customer_id  =  T2.customer_id WHERE T2.order_status_code  =  'Part'
Generated Answer:
SELECT T2.Customer_Name FROM Customer_Orders AS T1 JOIN Order_Items AS T2 ON T1.Order_ID  =  T2.Order_ID WHERE T1.Order_Status_Code  =  "completed" INTERSECT SELECT T2.Customer_Name FROM Customer_Orders AS T1 JOIN Order_Items AS T2 ON T1.Order_ID  =  T2.Order_ID WHERE T1.Order_Status_Code  =  "part_completed"
--------------------------------------------------------------------------------
Question:
Show the name, phone, and payment method code for all customers in descending order of customer number.
Original Answer:
SELECT customer_name ,  customer_phone ,  payment_method_code FROM customers ORDER BY customer_number DESC
Generated Answer:
SELECT customer_details,  customer_phone,  customer_payment_method FROM customers ORDER BY customer_number DESC
--------------------------------------------------------------------------------
Question:
Show the product name and total order quantity for each product.
Original Answer:
SELECT T1.product_name ,  sum(T2.order_quantity) FROM products AS T1 JOIN order_items AS T2 ON T1.product_id  =  T2.product_id GROUP BY T1.product_id
Generated Answer:
SELECT T2.product_name,  sum(T1.order_quantity) FROM ORDER_ITEMS AS T1 JOIN Products AS T2 ON T1.product_id  =  T2.product_id GROUP BY T1.product_id
--------------------------------------------------------------------------------

 

日本語の質問です。

Japanese Question:
全てのスタジアムの名前とキャパシティをリストしてください。

Generated Answer (SQL Query):
SELECT t1.name,  t1.capacity FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.track_id JOIN sea_game AS t3 ON t2.sea_game_id  =  t3.id WHERE t3.name  =  "All star"
--------------------------------------------------------------------------------
Japanese Question:
キャパシティが平均より大きいスタジアムの名前を見つけてください。

Generated Answer (SQL Query):
SELECT t2.name FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.id WHERE t1.avg(t2.attendance)  >  (SELECT avg(t2.attendance) FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.id WHERE t1.avg(t2.attendance)  <  (SELECT avg(t2.attendance) FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.id WHERE t1.avg(t2.attendance)  >  1)
--------------------------------------------------------------------------------
Japanese Question:
最も多くのスタジアムがある国はどこですか?

Generated Answer (SQL Query):
SELECT count(*) FROM stadium WHERE country  =  "USA" GROUP BY country ORDER BY count(*) DESC LIMIT 1
--------------------------------------------------------------------------------
Japanese Question:
記録がない水泳選手の名前を見つけてください。

Generated Answer (SQL Query):
SELECT name FROM player WHERE player_id NOT IN (SELECT player_id FROM tryout WHERE pName  =  'NYY')
--------------------------------------------------------------------------------
Japanese Question:
「Win」と「Loss」の両方の結果を持つ水泳選手の名前を見つけてください。

Generated Answer (SQL Query):
SELECT T1.player_name FROM player AS T1 JOIN tryout AS T2 ON T1.player_id  =  T2.player_id WHERE T2.outcome  =  'Win' AND T2.outcome_code  =  'Loss'
--------------------------------------------------------------------------------

 

質問にテーブルの名前をしっかり入れてみます。

Japanese Question:
stadiumテーブルの全てのスタジアムの名前とキャパシティをリストしてください。

Generated Answer (SQL Query):
SELECT t1.name,  t1.capacity FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.track_id JOIN park AS t3 ON t2.park_id  =  t3.park_id WHERE t3.park_name  =  "stadium"
--------------------------------------------------------------------------------
Japanese Question:
stadiumテーブルから、キャパシティが平均より大きいスタジアムの名前を見つけてください。

Generated Answer (SQL Query):
SELECT t1.name FROM stadium AS t1 JOIN track AS t2 ON t1.id  =  t2.stadium_id WHERE t2.city  =  (SELECT avg(city) FROM stadium)
--------------------------------------------------------------------------------
Japanese Question:
stadiumテーブルから、最も多くのスタジアムがあるcountryはどこですか?

Generated Answer (SQL Query):
SELECT t2.country FROM stadium AS t1 JOIN track AS t2 ON t1.track_id  =  t2.track_id GROUP BY t2.country ORDER BY count(*) DESC LIMIT 1
--------------------------------------------------------------------------------
Japanese Question:
swimmerテーブルから、recordがないswimmerの名前を見つけてください。

Generated Answer (SQL Query):
SELECT name FROM room WHERE room_id NOT IN (SELECT room_id FROM participants WHERE participant_id  =  "swimmer")
--------------------------------------------------------------------------------
Japanese Question:
swimmerテーブルから、「Win」と「Loss」の両方のresultを持つswimmerの名前を見つけてください。

Generated Answer (SQL Query):
SELECT T1.name FROM player AS T1 JOIN swimmer AS T2 ON T1.player_id  =  T2.player_id WHERE T2.result  =  'Win' AND T2.result  =  'Loss'
--------------------------------------------------------------------------------
Japanese Question:
eventテーブルから、全てのイベント名をyearとともにリストしてください。

Generated Answer (SQL Query):
SELECT event_name FROM event ORDER BY year_events
--------------------------------------------------------------------------------
Japanese Question:
railwayテーブルから、全てのbuilderとlocationをリストしてください。

Generated Answer (SQL Query):
SELECT T2.railway,  T1.location FROM builder AS T1 JOIN location AS T2 ON T1.location_id  =  T2.location_id
--------------------------------------------------------------------------------

 

 

gemma-3-270m-itを自作データでColabでファインチューニングしてみる。

Googleから公開されたGemma3 270M。FineTuringの方法も記載されています。そちらを利用してColabのL4環境で(雑な)自作データで学習をさせます。databricks-dolly-15kをローカルLLMでギャル語風に変換したデータです。

 

1h20mの学習時間でそれらしい出力が得られるようになりました。返答のキャラクター付けにはある程度成功しています。270mなので「賢く」はありませんが、もともとのモデルを大きく破綻させてもいないようで安心しました。実際は、何かのタスク系に特化させるようなチューニングが面白そうです。

 

手順と生成結果:

 

developers.googleblog.com

 

データセットの形式を合わせこむ部分をデータセットにあわせて変更します。

def create_conversation(sample):
    # コンテキストがある場合は instruction に付加
    user_input = sample["instruction"]
    if sample.get("input") and sample["input"].strip():
        user_input = f"{sample['instruction']}\n\nコンテキスト:\n{sample['input']}"

    return {
        "messages": [
            {"role": "user", "content": user_input},
            {"role": "assistant", "content": sample["output"]}
        ]
    }

 

 

TraingのパラメータもVRAMの容量をみつつ若干調整しました。

 

学習結果:

 

学習前後比較:

Question:
クリケット女子ニュージーランド代表がワールドカップで優勝したのは何年か
Original Answer:
まじで2000だよ!🤩  これは、もはや常識レベルな数字!
Generated Answer:
1939年、まじで、伝説の時! 🤩

 

Question:
朝、爽やかに目覚めるにはどうしたらいいのでしょうか?
Original Answer:
😴 ほんまに夜、10時とか、タイムリーに寝れると、目が覚めてる時の新鮮さがアップするよ!✨

💧  起きたらまず水全部飲むわ!
🤸‍♀️  朝一番ヨガで、気持ちも体もリラックス!
⏰  毎日同じ時間起きるようにするのが最強!」 }    rámci   😜  💤  🐶   🧘‍♂️ 💨  👑   💧 ☀️  💥   🎊   👑   💩   😴  😜  💦  🎉  👍   ✨  💯   💖  🤯  💪 🌴 🌞 💧  💖  😎 💋 😜 👊 🌱 💫
Generated Answer:
Morning vibes ✌️✨  朝、朝食作ろう!  ☕️  朝食食べるのが最高!  🍳  スナック、朝食、もう定番だし、朝食好きならパスタやトーストも定番!  🍝  朝食の定番はパンと卵、ミルク、牛乳、チーズ、ベーコン…  🙌  そしてパスタ、ベーコン、ベーコン、ポテト、野菜、ナッツ、チーズ、まじでヤバいね! 🤤

 

 

Question:
アメリカンフットボールでは、どのような得点の仕方があるのでしょうか?
Original Answer:
 amercianフットボール、まじで定番の得点方式はタッチダウン!6点ってマジよね!  タッチダウン後、エクストラポイントの間に1点とか2点取れるんだよ!  チームは、めっちゃ近づくのが難しいときには、フィールドゴール蹴ることにするよ。 3点って決まってるから、マジで決まる!  ディフェンス陣も、セーフティで2点ゲットできるんだ! 
Generated Answer:
まじで、フットボール、マジで3ポイント走ったら勝ちになる! 🤯 試合は、まずゴールポイントからスタートして、そのポイントでチーム1番目のチームが勝利する!  ⚽️  その後、プレータイムでポイントが2つ以上取ったら、勝ち上がっちゃうよ!  🙌  ゲームの最後は、各チームの最優秀選手が「ゴール者」って呼ばれるんだ。  🏆  みんな「ゴールした!」って褒められるし、他の11人なら「ゴール者」で、もう1人だけだよ! 🙅‍♀️  試合終了時、ゲームのポイントが10点以上になった場合、勝ち上がって、他のチームが敗れるんだ!  💥  ゴールポイント獲得後は、チームが優勝!  🥇  そして、2004年に「ベスト」って呼ばれたんだって! 💯

 

 

Question:
Q:タバコやニコチンを吸うと、COVID-19の合併症のリスクがあるのでしょうか?
Original Answer:
電子タバコ使ったりするって、肺にやばいやつが溜まる可能性あるけど、その化学物質がCOVID-19のリスク高くなるか、重症度をぐっと上げるんだって、まだ謎!  でも、電子タバコ使ってる人って、実はみんな昔は吸ってたヤツだからね。喫煙って肺炎とか呼吸器感染症の、リスクを大きく上げるんだ! まじでヤバいよ~
Generated Answer:
え、タバコやニコチン吸いすぎると、まじでヤバいよ! 🤧  コロナとか、他の病気も、タバコやニコチン使ってる人って、めっちゃリスク高くなるんだって!  特に若い人、感染する確率高いから、まじで危険すぎ! 😱  口の中汚染でウイルス吸い込んでる人たちに、注意してね! ⚠️  ブイズイヤーの時期になると、ニコチン中毒が、めっちゃ増えてるから、ちょっと控えめにね! 😎

 

Sarashina-embedding-v2-1Bで類似検索をColabで試してみる

「日本語に特化した指示を付与できるテキスト埋め込みモデル」として、Sarashina-embedding-v2-1Bが公開されました。さっそく、Retrival用途で簡単に実装してみてお試ししてみます。ColabのL4環境でお試ししました。

 

huggingface.co

 

このモデルでは、queryだけでなく、instructionも利用できます。Instructionとqueryの組み合わせが考慮できます。お試ししてみます。

 

この方法だと表記ゆれにも対応しやすく、利用しやすいembeddingモデルだと感じました。ライセンスが、特殊なので気軽に利用しにくいため、様子見ですが、このような日本語モデルが登場したのは嬉しいです。

 

今回利用したインストラクションです。

#インストラクション
instruction = "クエリの回答に近い文章を探してください。"

 

クエリーと類似順に並べた文章群:

Query: 日本の有名な観光地はどこですか?

Reranked Documents:
1. 東京タワーは日本の象徴的な観光地です。
2. 清水寺も京都にある人気の観光地です。
3. 日本の新幹線はとても速いです。
4. 寿司は日本の代表的な食べ物です。
5. 日本の首都は東京です。
6. エッフェル塔はフランスの有名な観光地です。
7. 奈良公園にはたくさんの鹿がいます。
8. 金閣寺は京都にある美しいお寺です。

 

Query: 日本の美味しい食べ物は何ですか?

Reranked Documents:
1. 寿司は日本の代表的な食べ物です。
2. 日本の新幹線はとても速いです。
3. 東京タワーは日本の象徴的な観光地です。
4. 日本の首都は東京です。
5. 奈良公園にはたくさんの鹿がいます。
6. 清水寺も京都にある人気の観光地です。
7. エッフェル塔はフランスの有名な観光地です。
8. 金閣寺は京都にある美しいお寺です。

 

Query: 日本の乗り物で一番目的地に短時間で到着できる移動手段は何ですか?

Reranked Documents:
1. 日本の新幹線はとても速いです。
2. 東京タワーは日本の象徴的な観光地です。
3. エッフェル塔はフランスの有名な観光地です。
4. 寿司は日本の代表的な食べ物です。
5. 清水寺も京都にある人気の観光地です。
6. 日本の首都は東京です。
7. 奈良公園にはたくさんの鹿がいます。
8. 金閣寺は京都にある美しいお寺です。

最後は敢えて文字かぶりが出来るだけないようにしました。新幹線が一番類似度が高いと判断するのはさすがでしょうか。

 

今回利用したColab:

gist.github.com

 

メモ:いろんなRAGを試せるようにしてみる。

目先を変えて色んなRAG方式による回答を試したいので、RAGお試しを作ってみることにしました。汎用的ではありませんが、新しい論文がでたらGemini CLIあたりを使って、追加実装できるような程度に設計用のドキュメントを用意して実装してみました。basicなRAGやMultiQuery、DeepRAGを組み込みました。プロンプトや様々なパラメータ依存性はあるにせよ手を動かして感触を得るのは大事です、たぶん。Vibe Codingありがたや。


おまけでユーザー毎にログインしたら、データセットを複数準備できるようにしました。

 

利用LLMは、gemma3:4b-it-qat、embeddingは、all-MiniLM-L6-v2と気軽に動作できるものです。

OLLAMA_MODEL=gemma3:4b-it-qat

OLLAMA_EMBEDDING_MODEL=mahonzhan/all-MiniLM-L6-v2

 

手元の複数の論文(PDF)を読み込ませて回答をさせてみました。4bモデルでも大きな破綻がなさそうです。優秀なモデルを公開していただいて感謝です。

 


今後の課題:

・チャンク戦略(サイズなど)を調整できるようにする。

・対応LLMを増やす。

 

これから:

RAG幻滅期に入っているとの分析も出てきています。PDFや神エクセルをなんでもかんでも突っ込めば、なかなか精度が上がらないのは自明の理です。しかしながら、地味なデータの収集や整理に工数確保して利用価値を確保する判断は難しい。RAG自体を入れれば解決するような誤解が解消されていく時期なのかもしれません。情報技術だけではなく、保有技術とをどう情報技術的に構造化するのか、そこに工数を割くべきということが段々理解されていくのでしょう。

 

github.com

 

こままでのトライアル:

bwgift.hatenadiary.jp

 

bwgift.hatenadiary.jp

 

gemma3(270M)をollamaとColabでためしてみる。

小型LLMの中でも、Googleのgemma3の超小型のLLMモデルを試します。ColabのT4環境です。ollama公式のgemma3:270mとUnsloth: 270m-itをColabのT4環境で試してみます。

 

日本語のチューニングもされてないので、日本語怪しいかも・・・と思ったのですが、日本語自体は英語交じりでもなく回答できています。ただし、どちらのモデルもlangchainとの組み合わせでの要約の場合、長時間回答が得られない場合もありました。エラーではなくリピートかなと思いますが、中断。270Mのモデルでここまで日本語までサポートできているのはさすがです。回答内容は面白回答や計算は途中で途切れるといった状況でした。日本語調整版や機能特化型ファインチューニングが楽しみです。

 

Ollama: gemma3:270m

ollama.com

 

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


まどか☆マギカで一番かわいいのは、個人の好みによって異なりますよね!😊
CPU times: user 2.12 ms, sys: 946 µs, total: 3.06 ms
Wall time: 219 ms

 

まどか☆マギカのキャラクターのテキストを参照して回答してください。
まどか☆マギカで一番かわいいのは、誰ですか?

# まどか☆マギカのキャラクター

(割愛)

 

まどか☆マギカのキャラクターのテキストを参考に、より具体的な回答をさせていただきます。

*   **まどか☆マギカのキャラクター:**
    *   「まどか☆マギカのキャラクター」という名前で、
    *   本作品における魔法少女とは「どんな願いでも1つだけ叶える」ことと引き換えに(割愛)
    *   視聴者の間では、キュゥべえの言葉巧みに魔法少女たちを翻弄する話術が話題となり、印象的なセリフは流行語にもなった[11]。インターネット上では視聴者から「QB」などと略称された[24][25][26]。
    
CPU times: user 2.23 ms, sys: 1.08 ms, total: 3.31 ms
Wall time: 12.7 s

 

日本で二番目に高い山を検討して答えてください。日本語で回答してください。

 

はい、承知いたしました。日本で二番目に高い山を検討して答えます。
CPU times: user 2.57 ms, sys: 0 ns, total: 2.57 ms
Wall time: 194 ms

 

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

ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典[7]。収録されている全ての内容がオープンコンテントで商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している[8][9][10][11]。「ウィキペディアWikipedia)」という名前は、ウェブブラウザ上でウェブページを編集することができる「ウィキ(Wiki)」というシステムを使用した「百科事典」(英: Encyclopedia)であることに由来する造語である[12]。設立者の1人であるラリー・サンガーにより命名された[13][14]。

 

承知いたしました。ウィキペディアWikipedia)のウェブサイトを理解し、利用できるよう、分かりやすく説明させていただきます。

ウィキペディアWikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典です。

ウィキペディアWikipedia)は、ウェブサイト上でウィキ(Wiki)というウェブページを編集することができます。ウィキ(Wiki)は、ウィキメディア財団ウィキメディア財団)が所有・運営しているものです。

ウィキメディア財団は、ウィキ(Wiki)のウェブページを編集し、ウィキメディア財団の活動を支援するために運営しています。

ウィキペディアWikipedia)は、ウィキメディア財団が所有・運営しているということを特徴とし、公開されている内容が商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している、ウィキメディア財団のウェブサイトに掲載されている情報で、ウィキメディア財団の活動を支援するために運営しています。

ウィキメディア財団は、ウィキ(Wiki)のウェブページを編集し、ウィキメディア財団の活動を支援するために運営しています。

ウィキペディアWikipedia)は、ウィキメディア財団が所有・運営しているということを特徴とし、公開されている内容が商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している、ウィキメディア財団のウェブサイトに掲載されている情報で、ウィキメディア財団の活動を支援するために運営しています。

ウィキペディアWikipedia)は、ウィキメディア財団が所有・運営しているということを特徴とし、公開されている内容が商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している、ウィキメディア財団のウェブサイトに掲載されている情報で、ウィキメディア財団の活動を支援するために運営しています。

ウィキペディアWikipedia)は、ウィキメディア財団が所有・運営しているということを特徴とし、公開されている内容が商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している、ウィキメディア財団のウェブサイトに掲載されている情報で、ウィキメディア財団の活動を支援するために運営しています。

この説明が、ウィキペディアWikipedia)のウェブサイトの利用について理解しやすく説明できたことを願っております。
CPU times: user 3.08 ms, sys: 68 µs, total: 3.14 ms
Wall time: 3.47 s

 

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

 

1 + 1 * 2 + 3 / 2 + 2^10

CPU times: user 1.1 ms, sys: 1.95 ms, total: 3.05 ms
Wall time: 218 ms

 

Unsloth: 270m-it

huggingface.co

 

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


まどか☆マギカで一番かわいいのは、**「パッ、おばちゃん!」** です!

CPU times: user 1.9 ms, sys: 933 µs, total: 2.83 ms
Wall time: 353 ms

 

まどか☆マギカのキャラクターのテキストを参照して回答してください。
まどか☆マギカで一番かわいいのは、誰ですか?

# まどか☆マギカのキャラクター

(割愛)

 

まどか☆マギカのキャラクターのテキストを以下に修正しました。

```
まどか☆マギカで一番かわいいのは、誰ですか?
# まどか☆マギカのキャラクター
本作品における魔法少女とは、「どんな願いでも1つだけ叶える」ことと引き換えにキュゥべえと契約を結び、魔法の力を使って魔女と戦う使命を課せられた存在である[1]。魔法少女の能力は叶える願いの内容にも影響され、劇中においては恭介の手のケガを治すことを願ったさやかは治癒能力[2]、命を繋ぎ止めることを願ったマミは変幻自在のリボンによる拘束魔法[3]、といった具合に願いの内容に関連する能力が発現している。
CPU times: user 2.69 ms, sys: 42 µs, total: 2.74 ms
Wall time: 2.77 s

 

日本で二番目に高い山を検討して答えてください。日本語で回答してください。

 

承知いたしました。日本で二番目に高い山を検討するのは、非常に難しいですが、いくつかの可能性を提示します。

CPU times: user 2.84 ms, sys: 929 µs, total: 3.77 ms
Wall time: 361 ms

 

 

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

ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典[7]。収録されている全ての内容がオープンコンテントで商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体ウィキメディア財団」が所有・運営している[8][9][10][11]。「ウィキペディアWikipedia)」という名前は、ウェブブラウザ上でウェブページを編集することができる「ウィキ(Wiki)」というシステムを使用した「百科事典」(英: Encyclopedia)であることに由来する造語である[12]。設立者の1人であるラリー・サンガーにより命名された[13][14]。

 

承知いたしました。ウィキペディアWikipedia)について、わかりやすく説明します。

ウィキペディアWikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典です。

Wikipediaの主な特徴は、寄付に主要な収入源を確保している非営利団体ウィキメディア財団」です。

ウィキペディアの運営は、主に寄付によって運営されています。

ウィキペディアのウェブサイトには、Wikipediaの公式ページが掲載されています。

ウィキペディアの運営者は、ウィキメディア財団のメンバーで、インターネットの利用を促進するために活動しています。

ウィキペディアの公式ページは、ウィキメディア財団のウェブサイトと同様に、ウィキ検索やウィキ情報の利用を可能にします。

ウィキペディアの存在は、ボランパス学派の視点から、ウェブサイトの運営、情報提供、そしてインターネットの利用促進に貢献しています。
CPU times: user 2.87 ms, sys: 939 µs, total: 3.81 ms
Wall time: 1.71 s

 

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

 

お辞書が間違っている可能性があります。

CPU times: user 2.74 ms, sys: 0 ns, total: 2.74 ms
Wall time: 167 ms

 

両さんと部長の話を創作してください。

 

承知いたしました。両さんと部長の話、ぜひ創作してください。

CPU times: user 2.78 ms, sys: 944 µs, total: 3.72 ms
Wall time: 212 ms