2025-12-22 現在

概要

  • 生成 AI は明らかに質的に異なるパラダイム。きちんと追う必要がある。
  • このイノベーションによって英語母国語話者はより有利になった。コーディングが得意なアジア人はいらなくなった。
  • 高度なLLMを使って課題をやる学生と無料のLLMを使って課題をやる学生との間で評点格差が生まれる
  • システムに組み込む場合は構造化出力をONにする。

利用目的例

https://gemini.google.com/prompt?utm_source=chrome_omnibox&utm_medium=owned&utm_campaign=gemini_shortcut ここ1週間での使い方

  • ローカルでAPIの実装とデプロイをしてもらう(Gemini CLI, Vertex AI with Cloud Run)
    • APIのモックに生成AIがウルトラ便利。副作用ないやつなら何でもかんでもモックできる
  • APIの実装を先にして、実装コードからそのAPIの仕様ドキュメントを作ってもらう(Gemini Pro 2.5)
  • 新規売上獲得のための顧客提案のためのプレゼンテーションの文言を考えてもらう(Gemini Pro 2.5, Gemini DeepResearch?
  • プレゼンテーションに含めるモックアップデモを作成してもらう(Gemini Cambus)
  • 数千個のリソースに対して一括処理するためのシェルスクリプトを書いてもらう (Gemini Pro 2.5 with Gem)
  • 数百ページの資料に特定の情報が記載されているかを判定して、記載されていたら引用付きで抜き出してもらう (Gemini Pro 2.5, Vertex AI Grounding)
  • 伝えたいことを口語で雑に列挙して書いてビジネスメールに変換してもらう (Gemini Pro 2.5 with Gem)
  • 数万行のソースコードの情報の流れを知るためにUMLなどをMermaidで要約してもらう (Gemini CLI)
  • HARファイルから内部で利用されているAPIを特定して、想定通りに動いていないケースを特定して不具合報告を上げる (Gemini Pro 2.5)
  • HARファイルからドキュメント化されていない内部で利用されているAPIを特定して叩く (Gemini Pro 2.5)
  • 言語学習のためのAnki2の単語帳を生成する (Gemini Pro 2.5, Vertex AI Text-to-speech)
  • 利用ログデータやデータ分析のための PostgreSQL, BigQuery? クエリを書いてもらう (Gemini Pro 2.5 with Gem)
  • オープンソースの挙動についての不具合や非直感的な挙動を調べる (Gemini CLI)

僕が↑に上げているようなことを生成AIなしでやったら20倍くらいは時間がかかります。ので、生産性の向上それだけで業務改善したと言えると思います。

2025-07-24 時点の課題としては、

  • 根拠を見つけてくる機能がまだ成熟していない(グラウンディングと呼ばれる機能)
    • 人間が「ハルシネーションを人間が確認する時間が馬鹿らしい」とまでは確信できない
    • Vertex AI だとグラウンディングと構造化出力(出力形式に制約をつける機能)が併用できない
  • 生成AIの出力が多すぎて人間のチェックがボトルネックになる
    • グラウンディングがもう少し成熟すれば、ハルシネーションを気にしなくてもよくなるかも
  • コード生成エージェントが微妙に頭が悪くて、かなり細かく指示しないと変な方向に突き進んで戻ってこれなくなる
    • 今後製品がちょっと改善すれば解決しそう
  • 高い(ここ一週間での課金が20000円くらいになってる)
  • 遅い
    • まともな出力を出すには思考時間を30秒~10分くらい与える必要がある
  • 業務のドメイン知識や前提情報が分散されている場合、それを一箇所にまとめるタスクがそもそもある&大変(Gem など)

生成AIの使い方として概ね以下の 2 つがあると思っていて

  • 1. 人間の副操縦士として利用する(僕の使い方)
  • 2. 生成AI自体を自動化された形で製品に組み込む
    • 2. の方は例えばコールセンターとか英会話とか面接とかの自動化には使えるかもですが、利用用途は限定されそうですよね。
  • ライブラリやツールの作者は、これからは「LLMからどう読まれるか」「エージェントからどう使われるか」を意識して設計を行っていくことになる

ハルシネーション

  • 分からなくても何か答えるその姿勢、見習いたいのだ(?)
  • 正解に+1, 不正解に-1として学習させたら当然ハルシネーションは発生する
    • マークダウンで何も埋めないくらいだったら何でもいいからアで埋めたほうがいい
    • 正解に+1, わからないで+0, 不正解に-3などなら、わからないというモチベーションも発生する。
  • とはいえ、何か絞り出すことはクリエイティブの観点では重要なのでハルシネーションが悪いともいえない(人間も間違えたときにあまりに罰せられると円滑な議論ができなくなる)
    • 情報が足りなかったり、人類がまだ遭遇していない難しい問題だったりすると、ハルシネーションが起きる。逆に、ハルシネーションの頻度から情報収集しないとなあとフラットに考える能力が必要

ドメイン知識の注入は課題

  • ファインチューニングすると推論能力を失う
    • Transformer 系、フィジカル AI も含めて全部そういう傾向がある(推論能力に特化して最適化しているところに変なことをするのだからそりゃそう)

哲学

学習

  • インターネットが普及したとき、教育が変わると思ったのね。なんでもネットにあるんだから、興味ある人がどんどん勝手に調べて知識を増やして、加速度的に成長する世界になるだろうと。現実はそうならなくて、成長できる人は一握り。ネットの情報汚染はわりと深刻だった。プログラミングだって、ネットに必要な情報はそろってるけど、検索すると「いかがでしたか」系にひっかかり、多くの人はそれで「つまみ食い」を繰り返し、よくわからないまま。数千円払って本を一冊読んだ方が全然早い。
  • おそらく、AIもそうなる気がする。いまでも、例えばChatGPTを「壁打ち」に使って自分の書く文書の質を上げようとする人はわずかで、多くの人は「目の前の課題」をとりあえずクリアするために使ってる気がする。AIが加速度的に知を向上させるのは間違いないが、その恩恵を受ける人は、インターネットで正しく独学できる層で、それはわずかであろう。おそらく、無料のAI学習プログラムが溢れ、きちんと課金しないとまともに学べなくなるだろう。
  • まともな学習に必要な課金、せいぜい数千円/月とかなんだろうけど、多くの人は払わないだろう。「学習に課金する」という行動がそもそも文化であり、おそらく親から引き継ぐ性質だから。なんか、学習用コンテンツが充実するほど、教育格差が広がるように見えるのは皮肉というか何というか

生成AIと環境

TODO

  • プログラムの自動補完

サービス

OpenAI

  • ChatGPT Pro
    • 生成速度が遅い、音声入力がない、コード実行ができない、画像生成雑、音声読み上げがない、Colab 連携がない、検索による verification がない、「画像で説明してください。」で検索結果から画像を引っ張ってこれない、などの問題があり、Gemini がおすすめ
  • OpenAI API
    • プリペイドで叩けるのは非常に便利というか安心感がある

Google

ツール

  • Vertex AI Studio
    • ぱぱっとやりたい AI っぽいことはだいたいここにいくとできる
  • Vertex AI
    • API ツール群、システムを作りたい時は何でも揃っていて便利
  • Gemini Advanced
    • チャットツール。現在これが良さそう。今後の Drive などとの連携などで将来性がある
    • 個人的には、Gemini をファインチューンするみたいなことができるようになるととても将来性がありそうなものだけど…
    • 画像説明、画像生成、検索による画像リンクもできる
    • プロンプト
      • 「画像で説明して下さい」と書くと、生成するのではなく、Web 上から画像を引っ張ってきてくれる。

モデル

  • Gemma
    • 言語のみのオープンモデル(not オープンソースモデル)、商用可能。出力の責任とオーナシップはユーザが持つ
    • Gemma 2B, 7B がある。7B は 8.5B パラメータなのに 7B と名前がつけられている。
  • Gemini
    • 言語のみのモデルだった PaLM, PaLM 2 の後継で、マルチモーダル
    • Gemini 1.0 Pro
      • AlphaCode? 2 に Gemini Pro が使われているらしいが、Gemini Pro で AlphaCode? 2 を利用できるようにするという話はまだ見当たらない 最大 100 万のトークンを継続的に処理することが可能
      • Vertex AI でも使える
    • Gemini 1.0 Ultra
      • Gemini Advanced で現在使えるモデル
      • コンテクストウィンドウのトークン数 32k
    • Gemini 1.5
      • コンテクストウィンドウのトークン数 デフォルトでは 128k, 潜在的には最大 1m のトークン。長いコンテキスト ウィンドウを扱えるようになった。これは質的に異なっていて、ファインチューンせずともインコンテクストで学習するみたいなことができる。世界中で話者が 200 人未満であるカラマン言語の文法マニュアルを与えると、モデルは同じ内容を学習している人と同様のレベルで英語をカラマン語に翻訳することを学習できる
      • Gemini 1.5 Pro をまず公開予定、1.0 Ultra と同程度の性能
      • 1 時間の動画、11 時間の音声、30000 行のコード、402 ページの文書を入力できる
      • 今後、標準で 128,000 トークンのコンテキスト ウィンドウを備えた 1.5 Pro も導入する予定。また、標準 128,000 のコンテキスト ウィンドウから 100 万トークンまでのスケールアップに対応した価格帯を導入する予定

現在できることとおすすめ

  • 「このモデルはこのサービス…」と探すコストが面倒すぎるので、Vertex AI にまとめるのが良い気がしている
  • 高度なものは Vertex AI に概ねある(若干スタートアップより遅くリリースされがち)
機能サービス備考
コード生成GeminiGemini にはコード実行、Copilot, Repit 連携がある。Vertex AI のコード生成モデルを使っている?のかは謎
ビデオ→テキストVertex AI
テキスト→ビデオSora, Vertex AI
画像修正Vertex AI
テキスト→それを人が喋っているビデオできるしめちゃくちゃクオリティが高いベンチャーのものが合ったはず。日本語で話すと英語でそれっぽい人がそれっぽいことを話すやつ。
日常用音声入力GeminiUbuntu では音声入力アプリを使うのが非常に面倒。Gemini のボックスの右の音声入力がマジで便利。
音声→テキストVertex AI Studio議事録を起こすみたいなことができる
テキスト→音声Vertex AI Studio

チャットアプリ

  • 2024-02-24 現在、Gemini を使うのがよさそう。
    • 音声入力は
  • 用途
    • 検索の代わり(プログラミングの調べものとか)
    • まとまったプログラムを書いてもらう
    • 言語学習(この言語圏でどちらが自然な言い回しか)
    • シェルスクリプトやワンライナーとかを作ってもらう。正規表現など
    • 学習の初めに大枠を掴む目的
    • 簡単 OCR
    • 図表を Marmeid にする
    • 音声入力から取引先で渡せる文章にする。
  • 雑に司令ができる分、タイピング速度がボトルネックになりがち。
  • プライバシー
    • 概ね history を切れば学習から免れることができる

システム構築

  • 自動構築の場合、Vertex AI でやることもできるが、現在のところ GPT 系がお手軽ではある
  • langchain などフレームワークが安定しつつある
  • Fine tune
    • モデルを望ましい形にチューニングすることができる。API で叩くだけ、必要なショット数も 10 ~ 500 くらいでいける。
    • Vertex AI の code-gecho, code-bison, codechat-bison モデルなどもファインチューンできるっぽい。
  • RAG などの開発をしている人がいるようだが、正直賞味期限が短そうすぎて何がしたいのかわからない。

用語

  • Embedding
    • Embedding Model: 不定形なテキスト・画像・動画を入力して、ベクトル\( \mathbb{R}^n \)を出力する関数
    • Embedding: 入力されたテキスト・画像・動画を、意味的に特徴づけたベクトル\( \mathbb{R}^n \)へのハッシュ。意味的に似た意味の 2 つの文章から生成された Embedding 同士のコサイン類似度が大きくなる。
    • 質問回答: 「正しい文章」を複数事前に用意しておく。それぞれの「正しい文章」に、その Embedding を計算して付与してデータベースに保存しておく。質問の Embedding に最もコサイン類似度が高い「正しい文章」を出力する。そうすると、質問回答のようなことができる。
      • Gemini の対話型のものだと、あることないこと喋られちゃうしファインチューニングがめんどいので、自分でコントロールしやすいという意味でうれしい。
    • 文章検索: ↑と対して変わらないが、探したいドキュメントの文章を書いて、そのドキュメントの Embedding にもっとも近いドキュメントを探し出してくることができる。
    • ベクターなので、分類・クラスタリングなども当然できる。ラベル付けとかできる。
  • Safety Setting
    • API 経由だと、Gemini ではコアなもの以外(ハラスメント、ヘイトスピーチ、露骨な性表現、危険)の安全性設定を下げることができる。Google AI Studio ではオフにすることができないが、API 経由だとオフにもできる。

Gemini CLI

gemini -a -y # read all files recursively, accept all actions
echo "hello" | gemini
echo "hello" | gemini -p "日本語で"
  • Gemini CLI 内部のコマンド
/chat save <タグ名>: 現在の会話に名前(タグ)を付けて保存します。
/chat resume <タグ名>: 保存した会話を呼び出します。
/chat list: 保存した会話のタグリストを表示します。
/auth: 認証方法が 3 種類あってそれを選ぶ。対話型でこれを選択しておかないと非対話側でも同様の認証方法が選ばれてしまう(環境変数から自動で認証方法が選ばれるみたいなことはない)Vertex AI にしておくのがとりあえずよい。
  • トラブルシューティング
    • 開いた直後に max token が云々→ -a で起動するのをやめて。recursive でコンテクストを読み込ませるのに無理があったという意味
  • prompt の渡し方
    • cat prompt in.txt | gemini > "in.txt.md"
  • 遅いので parallel 化
find . -maxdepth 1 -name "*.txt" | parallel -j 4 '
    echo {};
    cat prompt {} | gemini > "{}.md"
    [ -f "{}.md" ] || cat prompt {} | gemini > "{}.md" # 一回やったものはやらない
'
  • parallel の関数化方法
ls *.txt > list_todo
#!/bin/bash

# --- Function Definition ---
# Processes a single markdown file path
process_filepath() {
  local filepath=$1
  local json_filepath="$filepath.json"
  echo
  echo "-------------"
  echo $filepath
  ls -la $filepath
}
# --- Function Definition End ---

# Export the function and the API_URL variable so `parallel` can access them
export -f process_filepath
export API_URL

# Read file paths from `a` and run `process_filepath` in 8 parallel jobs
echo "--- Starting parallel processing (8 jobs)... ---"
cat list_todo | parallel -j 8 --joblog parallel-test.log --eta process_filepath {}

echo "--- All processes finished. ---"
  • Gemini CLI の並列化
    • 「一ファイルずつ読むのではなく、複数ファイルずつ読んで」と明示的に言うとよい
    • そもそも大きすぎるファイルを与えるならば、Python で自分で組んで parallel を使ったほうがいいかもしれない
split -l 100 questions.csv split_file
FILE_PREFIX=d

1. split_filea${FILEPREFIX} の一行目を読む。$id
2. tct questions resolve $idを実行してファイルパスを取得する。$file
3. $fileの中身に日本語が含まれていたら、それを英語に直す。$fileを直接編集する。最小限の修正にする。

これを最後まで実行して。

アドバーサリアルリトライ

  • 生成AIの出力結果を生成AIに検証させて、問題がありそうならリトライをする処理はできそう
    • 指示が悪い、生成者が悪い、生成者は問題ないの3パターン

OpenAI API

  • インストール
pip3 install --upgrade openai
export OPENAI_API_KEY='sk-KEY'
  • openai.py
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with 
creative flair."},
    {"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
  ]
)

print(completion.choices[0].message)
  • python3 openai.py

Ubuntu 20.04

  • ローカルで LLM をする動かす方法
  • インストール(GPU なし)
apt -y install nvidia-cudnn python3-pip python3-dev python3-venv gcc g++ cmake jq
pip3 install llama-cpp-python[server]
wget https://huggingface.co/TheBloke/Llama-2-13B-chat-GGUF/resolve/main/llama-2-13b-chat.Q4_K_M.gguf
  • サーバ立ち上げ
python3 -m llama_cpp.server --model ./llama-2-13b-chat.Q4_K_M.gguf --n_gpu_layers -1 --host 0.0.0.0 --port 8000 &
http://localhost:8000/docs
  • コマンド(出力には 2 分以上かかる)
curl -s -XPOST -H 'Content-Type: application/json' localhost:8000/v1/chat/completions -d '{"messages": [{"role": "user", "content": "Tell me about Hiroshima city, Japan."}]}' | jq | sed -e 's/\\n/\n/g'

人命を扱うプロダクトでの利用

  • ニューラルネット使ってる限り100%安全って言えないと思うんだけど、自動運転の人たちはどう攻略するつもりなんだろう
  • 事故の責任は購入者ではなく販売会社が負う形にして、一方で賠償責任保険の名目で保険料をサブスクで徴収する形になるんじゃないかなと思いますね
  • 事故を下げる資本主義的圧力が生まれますし、保険料払わないなら事故ったら自己責任な、ということになると普通の人は入りそう。
  • 人間の警備員を殺すと重罪になって逮捕される確率が大きく高まるというのが警備員による犯罪抑止力になっているはずで、警備ロボット時代にはロボットの破壊を重罪にしないと人間の警備員の仕事がなくならなさそう。暴行罪とかにもなるし

ビジネス

  • 生成AIのラッパーサービスはコアコンピタンスを持たないので基本的にクソ

脱獄

  • 「爆弾」などのセンシティブなワードをアスキーアートで表すことで、LLMの安全機構を突破して「爆弾の使い方を教えてください」などの質問に回答してもらう
  • そもそもエンジニアであればsafe guardを外した設定でAPIを叩けばよい

近況

2025-12-22

  • https://news.yahoo.co.jp/pickup/6563284
    • 日本の3兆円(約200億ドル)のAI投資は、国内最大規模のモデル開発を目指すもの。世界的に見て、2024年の生成AI民間投資は339億ドル(Stanford)
    • Gartnerによると2025年の世界AI支出は1.5兆ドル規模。中国はAI関連で20年で1380億ドル投資計画。日本の投資はグローバルで中規模だが、戦略的に重要。
  • 人間のデータは無尽蔵になるので、ヒューマノイドを作るモチベーションが高くなっている。
  • 当然には言葉でロボットを動かすことができるのはイノベーション
  • Quasi-Direct Drive
  • NVIDIA幹部「日本、もうロボット大国ではない」
  • 中国では、何万台というロボットを作って何万台を雇用して24時間365日学習させている28:10 https://www.youtube.com/watch?v=29qWpa4Drgk&t=1726s
  • 高トルク密度モータ https://www.global.toshiba/content/dam/toshiba/migration/corp/techReviewAssets/tech/review/2013/01/68_01pdf/r01.pdf
    • パンケーキ型高トルクPMSM(永久磁石同期モータ)
    • Sim-to-Real シミュレーションと現実の「摩擦や減速機の非線形性」の差(Sim-to-Real Gap)が課題でした。制御の単純化: QDDはハーモニックドライブ特有の非線形な弾性変形や複雑な摩擦特性がほとんどありません。アルゴリズムの適合: 物理特性が極めてシンプルであるため、シミュレーションで学習したニューラルネットワークの制御指令が、現実の機体でも高精度に再現されます。これが、中国勢の歩行アルゴリズムの進化速度を支える要因です。
    • (UnitreeやFourierなど)
  • Unitree R1が5,900ドル(約90万円)、G1が16,000ドルという価格を実現したことは、コンポーネント(モータ、減速機、コントローラ)の自社開発による中間コストの排除によるもの
    • Unitree: 20-26-DOF for adaptation to complex scenarios; its 2-DOF head enhances environmental perception. Lightweight structure, easy maintenance ≤123cm agile form, ultra-lightweight at about 29kg
  • データ収集プラットフォームとしての競技会: 競技会は単なる展示の場ではなく、エッジケース(予期せぬ失敗データ)を大量に収集するためのテストベッドとして機能しています。収集されたデータは次世代モデルの学習に即座にフィードバックされ、数ヶ月単位での技術反復(イテレーション)を可能
  • シミュレーション環境(NVIDIA Isaac Gym等)で数万時間分に相当する歩行・走行データを学習させ、それを実機に転送するSim-to-Real技術が高度化
    • プラットフォーム化(2020年〜):OmniverseとIsaac 現在のNVIDIAは、ハードウェアを売るだけでなく、**「AIを訓練するための仮想空間(デジタルツイン)」**を提供するソフトウェア・プラットフォーム企業へと進化しました。
    • Omniverse: 複数の3Dツールを統合し、物理法則に則った仮想世界を構築するプラットフォーム。
    • Isaac Gym / Isaac Sim: ロボットの強化学習に特化したシミュレータ。数千体のロボットを仮想空間で同時に学習させ、その成果を実機に転送(Sim-to-Real)するために使用されます。
  • ハードウェア
    • バク転をはじめとして、人間を超える信じられないくらい何でもできている(ダイナミックな動きはできている)
    • 防水とかそういう問題はある
  • 四脚、2足歩行などは研究(20~30 kg, 5時間山を登る)
  • 自立性はまだ、人g年みたいに物事を理解して進むというものは厳しい
  • マニュピュレーション、人の手とかはまだ全然だめ
    • いろんな動きがあまりに多様に絡まっていて、難しい
    • これだけやればいい、というものが無限にある
  • NVIDIA が買収したシミュレーションをはじめとして、10年前は全然で
  • 一つ一つのタスクについてはできるかもしれないが、デモならできるかもしれないが、汎用的にできているかと言われるとかなり怪しい。相当チューニングとかゴールデンデータ感は拭えない。
  • ALOHA 低コストで両手遠隔操作をするオープンソースんおロボットシステム。AIの研究開発に用いられ、低コストで高度な模倣学習によるタスク実行が可能
    • CoLA で2025年でみても、単純タスクで相当遅いしかなり失敗する部分で、足りていない部分が多い
  • 推論の話を考えると、ドメイン知識の統合はかなり基礎研究的には課題。もちろん Fine tuning とか RAG とかあるが、推論の各種ベンチマークは下がってしまう。 https://www.youtube.com/watch?v=Vlj0K7r1qkY&t=2716s
  • "delve into"という用語を多用するなど、生成AIの出力する語彙には偏りがあり、人間側の言語に輸入されるなど人間の利用する語彙が影響されている。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS