日記 2023-05
公開
2023-05-31 18:00

めちゃくちゃ眠くて活動停止しておる


Faster Whisper
あとで試す



Fine-Tuning Language Models with Just Forward Passes
オッ!?!?!?!
FineTuningだけなのはなんでだろ



最近睡眠不足だったのか一日中寝てた。
バクスイの巻物読んだやつがおるな


モキュ?(´・ω・`)


Gorilla: Large Language Model Connected with Massive APIs
オッ!?


疲れからか眠すぎて何もできねェ!!
こういうときのために頭を全く使わずに進められる作業を準備しておかなきゃだなあ



今日もやきうの練習見に行った



ガンパレの企画書の話
面白かった。Lisperかあ



FacebookのMetaが発表した新しいアーキテクチャ、MEGABYTE
120万トークンとか並列化可能とかはまあ良いんだが、名前、いい加減にしなさい


MGSコレクションマジ???????
PCで出してくれ〜〜〜〜頼む〜〜〜〜〜〜〜〜〜〜



久々にこの動画見たくなったんだけど名前思い出せなくて苦労した。
Andreas Obergね


市民農園行ってちょっと作業してきた。
今日は風が涼しいから良いけど夏はやばそうだな


オッ、RWKVの論文出てる



元気出てきたから壁当て。
子どもたち相手だったりするから緩くスナップスローの練習してるんだけど、遅い球でコントロール良く投げるの思ったより難しい。


運転嫌いなんだけど往復4時間運転して気疲れする会食
死ッピ!!


なんとなく読み始めたやつにのじゃロリが出てきた。
詫び10連でガチャ引いたら未所持☆3が4個ぐらい出てきた気分



昨日の疲れで半日寝てた
おじいちゃんやん


少子化でメンバー少ないわね……
バッティング練習中ずっとショートサード守ってたら股関節おかしくなってきた
ハァハァ……



めっっっっちゃ晴れてるから少年やきうの練習前に自転車でめっちゃ走ってきちゃった
ハァハァ……


CFGでLLMの出力を制御するやつ試してみた。
使い方難しいような難しくないような……Auto-GPTみたいなフォーマットだと効くのかな。

試してみたけど、文字列の最後にやたら二重引用符打って閉じたがるし、文字列中のinferenceが異様に遅い。多分CFGで却下しまくってるからかな?
gpt4-x-vicuna13Bだと割と複雑めのschemaにもちゃんと従ってくれるしなあ……


格闘技再開しよっかな〜ってここ最近ずっと悩んでたけど、やっぱ再開したらかなりのめり込んで他がおろそかになりそうだからやめた。
やめたので再開しそうになったら電子ゲンコツしてください。



野茂が投げたら大丈夫らしい


CyberAgentが日本語LLMモデルを公開した
尾田くん……見直したぞ
でもデータセットはWikipediaとCommonCrawlぐらいか。うーむ……
まあ企業だとできないけど、ChatGPT蒸留のgpt4-x-vicunaがとんでもない性能出してるから、だれかこう……やってくれないかな。
CommonCrawlのデータちょっと見ても、これ学習したところでな……というデータだし。



筋肉痛治ってきたのでグランドで壁当てとダッシュしてきた。

アンダースロー・サイドスローは脱臼癖の関係で無理っぽい。危険な痛みがある。
オーバースローもちょっと怪しい。
ウィンドミルだと痛くはないから練習するか……

ダッシュは10本。
ピッチとストライド、高速スキップを2本ずつ入れてみた。
ちかれた


redditのLocalLLaMAのwiki
助かる



K Nearest Neighbor as a Neural Network
オッ……こういうのが読みたかった



簡単なベクトルデータベースのコードを探して、わからないとこをChatGPT(4)に解説してもらいながら学習してる。
一応説明があってるかコードを書いて確かめているけど、今のところ間違いは無い。
もしかしたらGoogleとかで検索して調べものするのは、ある不便だった時代だけの一過性の技術になるかも、と思ったりする。



少年やきう(ソフトボール)の手伝いに一番必要だったのはバッティングピッチャーだったよなあ、というわけで運動も兼ねて壁当てしてる。
そういえばスナップスロー以外コントロールが壊滅してたなあ……



Wizard Mega 13B

> Wizard Mega is a Llama 13B model fine-tuned on the ShareGPT, WizardLM, and Wizard-Vicuna datasets. These particular datasets have all been filtered to remove responses where the model responds with "As an AI language model...", etc or when the model refuses to respond.

へっへっへ……


全☆身☆筋☆肉☆痛
反復横飛びみたいな瞬時のダッシュの繰り返しってこんなに効くんだね


うおーーーーllama.cppにGPU使用オプション(-ngl)来てる!!
Python系のはモデルデカいわ依存性複雑だわで試す気になれなかったから、make一発で使えるllama.cppが対応したのはめっちゃ嬉しい。

早速WizardVicuna13Bのq5_1で試してみた。
GPUはRTX3060(12GB)、ビルドオプションはCuBLASをオン。
ngl32でVRAM使用は7GB程度、ngl40で9GB
ngl無しだと336ms/token、ngl32で155ms/token、ngl40だと120ms/token!!
3倍近く速い。120ms/tokenだと普通に英語力が足りないので読む速度がおいていかれる(^oT)

次はWizardLM7Bのq5_1
ngl無しで146ms/token
ngl20でVRAM2.8GB、97ms/token
ngl40でVARM4GB、63ms/token(!?)
ngl50でVRAM4.7GB、61ms/token
ngl60、70と上げても変わらず。レイヤー数の最大がが40と50の間にあるのかな?頭打ちになってる。
40は速すぎて笑う。

これ味わうともうCPUだけのinferenceには戻れないなあ。
llama-cpp-pythonもアップデート対応したっぽいから今書いてるコードも後で試してみよう。



メモ LocalLLaMA
L多いな



Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer 後で読む
小さいモデルの協働はエネルギー効率・データ効率・学習効率において結構未来があるんじゃないかなと思ってる(素人考えだけど)。
Mixture of Expertsは完全に固定された階層型なんだけど、フラクタル性や双方向通信なんかを利用してモデルが持つ複雑性を無限に増やせれば……とか
Embeddingsでのやりとりだけじゃなくて、例えばJSONのフォーマットを修正するNN・リストをJSON化するNN・文章からキーワードを抜き出すNN……みたいにモジュラー化したものを繋ぎ合わせれば……とか。



睡眠不足の状態で町内会の掃除→すぐ少年野球の練習見にって、空きっ腹にコーヒーもらう→飲んだ直後人手が足りないので内野守備してあげる→死
胃が気持ち悪すぎて午後ずっと死体になってた。


Auto-GPTの解説読みながら簡単なembeddingによる記憶処理作ってみた。
どう保存してどう取得するか相当いろいろ試さないとだなあ。
llama.cppの速度じゃちょっと試行錯誤が辛くなってきている……
プロンプトやハイパーパラメタのいくつかの組み合わせを一気に試せるスクリプト組んで、生成中は別のことやるのが一番かな。



ベイスターズ、突然投手全員崩壊してる。何で!?



久々に絵を描く機運が高まってるけど、せっかくだから、前々から思ってるアプローチを試してみたい。
うまく行くかはわからないし、駄目だったら時間をドブに捨てることになるけど、ずっと上手く行くかどうか自体が気になり続けてるから一度は試しても良さそう。

具体的に言うと、資料の観察と作品への取り組みをそれぞれ分ける。
今までずっと資料を大量に用意して、観察しながら同時に描いて来たけど、やっぱり資料自体にかなり引っ張られる。
そこを乗り越えるのが同じアプローチでは難しく感じる。

上手く行くとしても、多分最低3〜4ヶ月ぐらいは今までよりガクッと下手になりそう。それを耐えられるかだなあ。



AI絵の話に限らず、思想の左右やジェンダーなど政治的な話まで、議論が起こりやすい話題について、ある種の意見を表明している人は、目にした瞬間にブロックかミュートしている。
攻撃的な発言だったり、ダブルスタンダードな意見も嫌いだから同じく見ないように対処してるんだけど、この「ある種の意見」についてちょっと表明しておきたい。

人間の脳は、省エネの達人と言って良い。
例えばいつも繰り返す行動は小脳にモデル化して、いちいち言語化して思考しなくても、無意識に歩いたり歯磨きしたりできるようになっている。
この省エネ化のかなり強烈な弊害として、複数の話題を統合してしまう人が非常に多い。

例えばAIの話だと、まずAI自体なのか、AIを使う人間の話なのかと分けられる。
使う人間の話であれば、どういった使い方が問題なのかと考えると、ディープフェイクなどの他人のコラージュを作るものや、生成AIであれば学習元の同意などが挙げられる。
学習元の同意について考えるとなると、例えば現在絵の生成AIで主流の拡散モデルが学習と言えるのかどうか、より具体的に言えば標準正規分布に従うノイズとの差分に基づいてニューラルネットワークの重みを更新することはデータの直接的な窃盗と言えるのか、特徴量の抽出は個々のアーティストの学習とどういう違いがあるのか、という話まで分解される。多分専門家によってもっと細かく分けられる。

このように全ての複雑な問題は独立した問題の集合体で、まず個々にそれらを解決し、次に関連した問題について解決していくべきだと信じている。

しかし実際には、上で言ったように、省エネ化のために話題を統合したがる人で溢れている。
考えることを避けるあまり、最終的に考えずに済む二元論まで統合してしまう。
10チームより5チームが、5チームより2チームの方がわかりやすい。
その結果、AI推進/反AIや、思想の左右など、現実の問題の複雑さを無視した、空想上の2チーム分けによってひたすら罵り合う事になる。

悲しいことに、そういった無意味な罵り合いが世の中を動かしている。
なんなら、そういった不毛な罵り合いに参加するよう同調圧力をかけようとする人も多い。
例えば「罵り合いに参加しない人は選挙にも行かない人だろう」という乱暴な意見を目にしたが、少なくとも選挙は、投票結果を横から見られて、「反対チーム」からの無意味なバッシングに合う心配は無い。(もちろんこの発言者はブロックした)

というわけで、ほとんどの議論は上記みたいな「話を分解できない人」が居る限りデメリットの方が極端に大きいので、一切参加しないし、その手の参加者は片っ端からブロック・ミュートして見えないようにしている。


ペンタブの調子悪いからドライバいろいろいじってたら不思議な踊りするようになってしまった。
うーんち


今日は市民農園を見に行ってきた。
他の市町村の市民農園写真を見ると、広い土地を綺麗に区画分けしたものが多い。
しかし近所のは、山の中腹に適当に札立てて、ここらへん!あとはがんばって!ってカンジでなかなかフリーダムだった。
小屋の設置・肥料の放置・焚き火などは禁止されてるはずだけど、大量にあった。
自由だなあ



久々に絵が描きたくなったので準備運動しておる。
できればKritaで描きたいとこだけど……ArchLinuxで全部済ませたい。



頭痛ンゴで寝れなンゴオオオオオオオオオオオオオ



久々に頭痛ンゴオオオオオオオオオオ



llama.cpp、6スレッドが一番性能良くて、スレッド数上げていくと段々性能下がっていく。
なんでだ???

あ、コア数が大事だからか。
スレッドのコンテキストスイッチがボトルネックになってるからだ、単純な話だった……
ここの議論がすんごいわかりやすい


いきなり激暑くなってて身体おかしくなりますよ


対話でスケジュール・タスク管理できる秘書AIぐらい作れそうな気配ある。
できたらいいな〜〜〜英語しか使えないけど……



BabyAGI参考にしてTask ExecutionとTask Creationエージェント動いた。
「サイバーパンク小説書いて」という最終ゴールに対して、タスクリストの作成と実行を交互に繰り返させる。自動で。
ChatGPT(3.5)に劣るはずの、手元のPCで動くvicuna7B 5bit量子化でまともな結果出てるのかなり興味深い。

作らせて実行させたタスクは以下(DeepL翻訳)
- サイバーパンクというジャンル、そのテーマ、サブジャンルを調査・分析し、ジャンルの要素や特徴をより深く理解する。
- 小説のプロットと登場人物(動機、背景、性格など)を設定する。プロットは、テクノロジーに支配されたディストピア社会を軸とするものとする。社会の崩壊と混沌を引き起こす。
- サイバーパンク小説の初稿を書き、このジャンルの要素を取り入れつつ、読者を惹きつけ、注意を引くユニークなストーリーを創作する。

で、2番目のプロットのとこの結果(DeepL翻訳)

タイトル "最後の避難所"
2077年、世界は荒涼とした荒れ地と化していた。テクノロジーは想像を絶するほど進歩したが、同時に社会の崩壊を招いた。政府は崩壊し、無法地帯が広がっている。この混沌の中で、自分たちを支配する圧制に対抗するため、反乱軍の一団が結束して戦う。
物語の主人公は、アバという名の若い女性です。彼女はハッカーであり、そのスキルは世界でも比類がない。アバは、自由への欲求と、自分の一挙手一投足を支配するシステムに対する憎しみを原動力としている。彼女のバックストーリーには、幼少期に経験したトラウマ的な出来事があり、それがきっかけで反乱軍となり、追放されることになった。
エヴァの反抗期のパートナーは、マーカスという男だ。彼はメカニックであり、その技術はグループの存続に不可欠である。マーカスの動機は、大切な人たちを守りたいという思いと、多くの被害をもたらしたシステムを崩壊させたいという思いです。彼のバックストーリーには、政府の残忍な戦術によって家族を失ったことが含まれています。
物語の敵役は、Dr.チェンという強力な経営者です。彼は、経済から政府まで、社会のあらゆる側面をコントロールする企業のトップである。Dr.チェンの動機は、権力と支配への欲求にある。幼い頃に捨てられ、貧困の中で育ったという経歴を持つ彼は、自分より多くのものを持つと認識した者に復讐するよう駆り立てられる。
アバとマーカスはチェン博士の会社を打倒するため、それぞれの動機で戦う他の反乱軍と行動を共にすることになる。ジャックという名の若い兵士は、混乱から家と家族を守りたいという欲求に突き動かされている。また、ケイトという名の悪徳警官もいる。彼女は政府を憎み、不当な扱いを受けた人々に正義をもたらしたいという願望に突き動かされている。
小説の中で、エヴァ、マーカス、チェン博士、そして他の登場人物たちは、生存と自由のために戦いながら、数々の困難に直面することになります。彼らは、自分たちが住むディストピア世界を、スキルと知恵を駆使して敵を出し抜き、障害を乗り越えていく。そして最後には、真の意味でシステムから解放されるには、システムを内側から破壊するしかないことを知るのです。



カーネルアップデート来てるけど、結構気合入れて環境構築してるからちょっと怖いッピね……


実験環境整って来たからBabyAGIなど参考にしてプロンプト試してる。
JSONで返せ、という指示が意外とちゃんと通るからなかなか感動。



llama-cpp-pythonのcreate_completionまわり参考にしていろいろ実験中。
ただllama.cppのmainで試した時より変な応答多い気がする。なんだろな〜



llama-cpp-pythonばっか見てても埒が明かないから、ちょっと気合入れてllama.cppのmain読んだらだいたいわかった。
とりあえずpythonで書いたスクリプト上でチャットできるようになったから、設定や記憶を保ち続ける工夫をしたいところ。
しかしコンテキスト長の大事さわかりやすいね……
30kぐらいあれば特に気にせずログや概要をほとんどプロンプトにぶち込んでも良さそう。
まあ処理時間がとんでもないことになるけど。



最近、必要に迫られて(どうしても久々に飲みたくなった)コーヒーを飲んでいたら見事に昼夜逆転した。
現在対策本部では原因の究明を急いでいる。


だぁ〜めだ、llama.cppのPythonバインディングの使い方さっぱりわからん。
どうやったらllama.cppのinteractiveモードみたいな使い方できるんだろ。



SDぶんまわしながらllama.cppでLLMの研究してるけど、加熱でPCが爆発しないかドキドキする。


そういえばごうくんの誕生日だ。というか猫たちは皆保護猫で、正確な誕生日がわからないので、全員こどもの日で一斉に祝うことにした。
最近あまりにも忙しくて猫について書いてないけど、みんな元気。
けーくんがちょっと太り過ぎかもしれない!
でも去勢手術の副作用というか持て余した衝動の発散らしく、まあごうくんとじゃれ合ったり運動は激しくしてるので大丈夫でしょう。
結構食欲落ち着いてきたっぽいし。
丸まったおなかに顔をうずめてエネルギーを毎日補充している。



こどもの日なのでかん字をきょく力はいじょした日きをかきます


相変わらず四六時中AIいじっててめちゃめちゃに忙しい。
仕事もChatGPTのおかげでとんでもなく速く終わってる。
SDのプロンプト関連は、多分LLMの進化に任せたほうがいいな……と結論したのでそこまで気合入れていじらないことにした。
ただ便利スクリプトがめちゃめちゃ溜まってるから、近々仲間内に公開したい。
公開できるようにヘルプとか書くの面倒だけど……適当でええか?


コンビニで偶然少年ソフトボールクラブ時代の監督と遭遇。おじいちゃんになってた。
でもまだ監督やってるらしい。
運動不足解消に、今度球拾いでも手伝いに行くことにした。



早朝に起きて、全てを睨みつけながら昨日の作業をやり直している。
許さんぞ陸八魔アル……



emacsのeshellの補完の挙動がうんちすぎて今日の作業吹っ飛んだ
git commit忘れてた
応援ありがとう!


最近ずっとPython書きまくってる。
まあまあ悪くない言語なんだけど、何よりもChatGPT(GPT4)に聞いたらほぼ正確に答え返ってくるのが強すぎる。
「ディレクトリのフルパスとアスペクト比と出力先を受け取って、ディレクトリ中のpngファイルをアスペクト比に従って上・中・下と切り取って次の法則に従って名前つけて保存する関数書いて」みたいな指示で面倒なwidth/heightの計算とか全部やってくれるの助かる。
同じようにGo言語も強い。
- ユーザー数とライブラリがトップクラス
- 言語仕様が安定してる(構文の破壊的変更などがあまりない)
- メモリ関係の罠が無い
この3つクリアしてるPython・JS(TS)・Goが飛び抜けて安定した解答来る。
多分C#とかJavaあたりも強そう。

今まで割とプログラミング言語オタクで、自分でもいくつか言語処理系作ったりしてたけど、もうどうでも良くなってしまった。
便利な構文とか無くてもAIが全部生成してくれるから、ボイラープレートは気にならない。
安定して読みやすい記法であれば良い。


ゴガツ……?
言及