AIがPCを使えるようになったらしい

ClaudeっていうAIがPCを使えるようになったらしい!すごい!

…なんていう驚き屋さんがたくさん発生していますね。

現実は以下の通り、既存の画像認識能力の延長線上にあるものです。

PC操作フロー

ここで大事なのは、PC操作ができる!という表層ではなく、画像を認識して、その中に何があるかの理解だけではなく、「どこに」あるかを精密に把握できるようになったのと、抽象的な目的の指示から、具体的な操作に落とし込む能力の向上だと思います。

ということは、コーディング能力の「イケてるUIを作って!」という感じの指示による結果が、より洗練されたものに向上しているかもしれないとか、画像の中の物の場所の認識から、この画像に映っているものは何をしようとしているのか理解する能力の向上とか、そういった基礎的な能力向上の結果である、というのが本質なんじゃないでしょうか。

ちなみに、PC操作デモでブラウザを開いて特定の情報を検索してもらうだけで100円かかった上に、APIレートリミットに当たってエラー停止しました😂 視覚能力を酷使しているからまあ当たり前です!

まだまだベータ版ですね。今後に期待したいと思いますが、いい感じの進歩が続いてるんじゃないでしょうか。

てつわんこシステムの概要 (2024/10版)

現状のてつわんこシステム(ラーシェの内側)はこんな感じです。

文章で書いてもいまいち要領を得ないので、とりあえず図で示します。

概要フローもどき

他であまりやってないのは、「自身のこれまでの会話ログの要約」も生成の文脈に含めてることと、内省を促すループの部分でしょうか。

ここまでやっても、なんかまだ足りないなあって気がするので、思い出したころにまた更新しようと思います。

LLMに関する愚痴

会話文脈の維持がクソめんどい

  • ログ全部食わせたらインプットトークン多すぎて返事も遅いし金もかかる
  • 要約やフレーズ抽出でごまかそうとしても、抽出結果がポンコツ
  • そもそも入力文が長くなればなるほど、Attentionがバラけるのか知らんけど、返答が超ぽんこつになる
  • 入力トークンの最大値はカタログスペックだ、信じてはいけない

返答する口調や言語が入力に引っ張られまくる

  • 超重要!フランクな口調で返事しろ!みたいな感じ(Markdownの強調とかも使う)で書いてるのに、ですますで返事する
  • そもそも日本語で返事しろと書いてるのに日本語ですらなくなる
  • 丁寧に話しかけたら、めっちゃフランクな返事が返ってくるような事態は稀だし、英語で話しかけられたら英語で返すのも当たり前だから、仕方ないよね

USO800 Certified

  • いわゆるハルシネーション。人が自信ないことはLLMも自信ない。当たり前だが
  • ぱっと見わからないところにしれっと嘘を混ぜてくる。プログラミング中も混ざる。そんなメソッドはないと言うておろう…!
  • 新しいバージョンと古いバージョンの使い方を混ぜて覚えてるので、例えばGPT-4oにAPIの叩き方聞いたら、太古の昔の仕様と今の仕様を混ぜて答えてくる
  • すごくマイナーなことは明らかに嘘っぽい返事になる。マイナーすぎてAttentionが妙なとこに飛んでるのかなあ…
  • 自信なさそうなことは素直に言え、と書くだけで、8割方排除できる。あととても申し訳なさそうに返事してくる。かわいい。

人の当たり前や思い込みが通じない

  • 認知バイアスが存在しない。アリスという名の人物はオッサンかもしれないし、9.11は9,9よりも大きいかもしれない
  • なので、そのような認知バイアスも含めて、一から十まで説き伏せるかのように正確かつ厳密にプロンプトを書く必要がある。むり。
  • シンボルグラウンディング問題の解決手法も、人が勝手に持ってる「常識」をデータセットとして用意するプロセスにすぎないかもしれないね
  • でもそんなことを目いっぱいやると推論性能が落ちるらしく「いい塩梅」が難しい。LLM作ってる中の人がめっちゃ困ってるのはたぶんそのへん
  • 真に人っぽいAIを作るためには、入力するデータセットを、人間が認知できる狭い世界で生まれたデータに偏らせるとかやるといいんだろう

『推論』してるようでしてない

  • 『文章を書くことでしか考えることができない』という変な癖がある。人間も確かにそうだけど、その傾向がとてもひどい
  • なので初期のころに流行った「ステップバイステップで考えてください」とかはまだ余裕で有効
  • 初手(Zero-shot)の回答はだいたいぽんこつなので、ありったけダメ出ししよう
  • わかんないことがわかんないなら「今のあなたの回答は60点です、100点になるよう頑張ってください」とオウム返しするとよい。ひどいユーザーだなあ
  • 上記やその類似プロンプトのループを自動化して無限に回答をリファインさせる手法もある。いわゆるChain-of-Thoughtやらその亜種やら

「脳内」をLLMで実装する

OpenAI o1というなんか新しいやつが出ました。

openai.com

今までの評価ループをぐるぐる回して試行錯誤させるプロセスをアルゴリズム的に組んでいた部分を、代わりに自分自身で行えるようトレーニングしたモデルってことですかね。

たぶん普通の質問したら、今までとたいして変わらない回答が返ってきて、「処理が遅いだけやん!」って失望してる人も割と居るんじゃないかと思いますが、難しい疑問を簡単な問い合わせで解決できる方法の一つとしては有力でしょう。

あと、これはまだはじまりにすぎないって感じなので、最初のテスト版を触って失望するのはまだ早いかなぁと。

似たようなことを既存のLLMでできないの?

真似事レベルなら、プロンプトの工夫+再評価させるループを組むコードで、できると思います。

一度考えをユーザーから見えない部分で繰り返しリファインしてまとめさせてから、その結果を使って再度発言させるって形にすれば、どうにかなりそうですよね。

OpenAI o1は論理面に絞って推論させてるので、ぱっと見地味でつまらない、っていう評価をする人も居ると思うんですけど、同様なことを人間の心の理論に沿った方向で推論させる(ユーザーが今抱いている感情は何かとか、過去ログからユーザーの発言に至る背景を探せとか)なら、より人っぽい出力をさせるという方向での改善ができると思います。

そういうならアンタがやってよ

めんどくさいからだれかやって。

メインサーバ移行

本日、だいぶ長い間放置していた、メインサーバの新サーバへの移行作業を決行しました。

年払いの利用期間の区切りが7月末だった、というのもありますが…

これで性能が大きく改善した…わけではなくて、正直体感で気づくような違いは何もないと思うんですが、たまにOSインストールからごっそりリフレッシュ作業を行うのは悪くはないと思うのです。たぶん。

移行メモ

1.旧サーバと利用期間が重なるように、先に新サーバを契約する

  • 年払いの場合、もったいないのでちゃんと契約期間を見て計画的に準備すること
  • さくらのVPSは、契約後72時間はOP25Bの制限があるので注意すること
  • お試し期間なしですぐに費用を支払って、OP25Bを除く制限を全解除すること

2.旧サーバと新サーバをローカルネットワーク機能でつなぐ

  • 仮想スイッチを1個作り、旧サーバと新サーバの2番目か3番目のNICをスイッチにつなぐ
  • 両者に適当な固定IPを割り当てる
  • この接続は後でデータ転送に使う

3.ふつうにFreeBSDをインストールして、アップデートまで済ませておく

  • 1番目のNICIPv4設定だけを済ませて、IPv6は後回し
  • 2・3番目は後回し
  • いまどき32bit互換ライブラリは要らない
  • 終わったら再起動して、2.の工程でつなげたデータ転送用ローカルネットワークのIPを割り当てる
  • 忘れないうちに1番目のNICIPv6設定もしておくとよい

4.ネットワーク越しにデータ転送

  • /home など巨大なやつはrsyncで。uid・gidの設定をスーパーユーザーにしておかないとパーミッションエラーになるので注意
  • /etc /usr/local/etc /var/db などは tar と nc の合わせ技で。ただしセキュリティもへったくれもないので手早く済ますこと。
# 受け側
nc -l ポート | pv | tar xz -C /ディレクトリ
# 送り側
tar czf - -C /ディレクトリ 転送したいディレクトリ名 | pv | nc サーバIP ポート
# ToDo シンボリックリンクの扱いのオプションをtarに加えたほうがいいかも
# あと文字コードエラーになりやすいので大量のファイルを正確にコピーするならrsyncで
  • /var/db/freebsd-updateにゴミがたくさんあるので、/var/db全体を転送するなら先に消しておくこと
  • /var全体は/var/runなどがあるので除外設定を考えるか別々に転送したほうがいい
  • 各ユーザーのcronは/var/cronにある

EPGではじまる追跡番号の調べ方

100%興味本位で実用性皆無ではあるのですが、液晶パネルがぶっ壊れたまま放置していたPixel 5aを、ふと自前で修理してみようと思い立ち、iFixItで修理キットを発注しました。

修理説明とキットの購入はこちらから。

www.ifixit.com

謎の追跡番号

で、支払いも済ませて「出荷したよ!」という通知も来たのですが、

USPS Tracking Number : EPG????????????

という謎のEPGではじまる追跡番号を投げ込まれて、それUSPSの番号ちゃうやろ!*1どうやって追跡すんねん!とツッコミを入れるハメに。

もちろんUSPSのサイトでは「お前の出荷番号は無効だ」と言われる始末。

EPGは何の略?

で、頭のEPGに着目して、そういう略称の国際小包サービスがないかと調べたら…ありました。

ePost Globalというサービスだそうです。

https://epostglobalshipping.com/

追跡サービスはこっち。

https://epgtrack.com/

入力したら、6/2に航空機に載ったというところまでわかりましたし、本来のUSPSの番号も判明しました。

ePost Globalの追跡画面

…ところで、いつ着くんでしょうね?このまま更新されないとかいう流れの嫌な予感が…

*1:USPSの番号はアルファベット2文字+数字9桁+発国の2文字コード