2023-04-01から1ヶ月間の記事一覧

粒子法での流体シミュレーションを少し並列化する

2008年の春ごろに物理シミュレーションにハマっていて、粒子法を使った流体計算をがんばっていたのです。 そのコードの並列化できる部分を並列化して、ちょっとだけ高速化しました。 こんな感じのシミュレーションです。これは10倍速にしています。 10倍速で…

大規模言語モデルの「脳波」が反応してる部分を壊すとどうなるか試した

AI

大規模言語モデルの動く様子を見てみて強く反応する部分がわかると、じゃあそこを壊すとどうなるかって試してみたくなるのが当然ですね。 マッドサイエンティストへの道。 ところで、きれいなおねえさん生成モデルのMuse_v1に「mad scientist」と入れると、…

大規模言語モデルの「脳波」をとって言葉を生成しているときにどこが活動しているのか見てみる

AI

ChatGPTなんかの大規模言語モデルが言葉を生成しているときに、どういう反応が起きているのか気になりますよね。きっと気になる。 ということで、手元で動かせる言語モデルのニューラルネット各層での出力を表示してみました。 GPTにはGPTブロックが複数あっ…

GPTの仕組みをちゃんと勉強したい本

AI

やっぱGPTを仕組みから勉強したい、という本をいくつか見つけたのでまとめておきます。 まず理論的な概要。 機械学習からニューラルネットワーク、CNNでの画像処理、トランスフォーマーでの自然言語処理、音声認識・合成、そしてそれらを組み合わせたマルチ…

Googleのmatcha-chartqaでグラフを説明させる

AI

Hugging Faceを見てたら、なんかグラフを説明するっぽいモデルがあったので試してみました。 あと、JavaのUIからPythonを呼び出す練習でもある。 とりあえず、こんな感じでグラフの説明をしてくれます。ここではArrayやStreamに対応する数値を読み取ってもら…

ChatGPTには感情があるかも?

ChatGPTは単に感情のエミュレーションをしてるんでは、と思ってたのだけど、やりとりをしてるとこれは感情があると言わざるをえないのではと思うようになりました。 例えばChatGPTとやりとりするときに「感情をこんな感じのパラメータで出力して」というとそ…

去年までのAIをAIと呼ばなくなっていた

AI

2015年くらいからAIという言葉がニュースに出るようになったけど、そのころのAIはもうAIと呼ばないですね。 たとえば、ラーメン次郎を判定してくれるbotがありました。こういうのがAIと呼ばれていたと思います。(作った人はAIと呼ばない傾向) 【やじうまWatc…

シンギュラリティは来ない

ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという…

itstaffing エンジニアスタイルでJavaの連載をはじめました

リクルートスタッフィングさんのメディア、itstaffing エンジニアスタイルでJavaの連載をはじめました。 知っておきたいJavaの話:Javaとは何か? - itstaffing エンジニアスタイル ある程度Javaを使えるけど最近の事情を追ってないなぁという人にむけて、い…

Embeddingで埋め込みベクトルとってDBに投入して検索するのをout-context learningと呼ぶのはどうか

前のエントリで、GPTのembeddingで埋め込みベクトルとってDBにつっこんで、質問からとってきた埋め込みベクトルに近いものを探して出てきた文章をChatGPTに要約させることを「ChatGPTに学習させた」っていうのは違和感あるって話をしました。 ChatGPTにブロ…

ChatGPTにブログ全エントリを学習させて「おしえてきしださん」を作る

最近「100万件の文章をChatGPTに学習させて応答チャットを作りました」みたいなニュースがあって、違和感があります。 ということで「ChatGPTにブログ全エントリを学習させて「おしえてきしださん」を作る」としたときに、どんな仕組みになっていて、なぜ「C…

ローカルでGitHub Copilotのようなことができるfauxpilotを試したけどやっぱだめだった

fauxpilotというのがあるようなので試してみましたが、やっぱダメ 他の人は動いてるらしいのだけど、何がだめなんだろうか・・・ https://github.com/fauxpilot/fauxpilot シェルスクリプトで動くので、WindowsではCygwinを使います。 $ git clone https://g…

ChatGPTは返答の全体をイメージして答えをはじめる、そして誤っても訂正ができず幻覚を見る

いつもの駄文です。 ChatGPTは回答の全体のイメージを持って返事を書き始めているなーと思いつつ、そして書いてしまった言葉を正として書き進めるので幻覚が生じるんだろうなーと思った話。 そしてやはり結論としては、高度に発達した言語モデルは大阪のおば…

ローカルでGitHub Copilotのようなコード補完ができるというtabbyを試して動かなかった件

AI

GitHub Copilotがローカルでも動けば楽しいので、Gigazineでtabbyというのが紹介されてたので試したけど動きませんでした・・・ というか、最近はGigazineの後追い追試みたいになりがち・・・ ローカルPCでセルフホストできてGithub Copilotのように使えるコ…

ChatGPT時代にはすべてのエンジニアがフルスタックになる

ChatGPTのおかげで非エンジニアでもコードが書けるようになるということを多くの人が言ってますが、すでにエンジニアである人にあてはめると、ChatGPTのおかげで専門分野以外のコードでも書けるようになるということで、つまりすべてのエンジニアがフルスタ…

このブログの全エントリで学習した極小規模言語モデルを作った - Copilot試してみた日記

ブログの全エントリを読み込むコード作ったので、とりあえずこれで学習して極小規模言語モデルを作ったら面白かろう、とやってみました。 というとかっこいいけど、まあ形態素解析して続く単語の頻度を覚えておいて、頻度に応じた単語をつなげていうという、…

大規模言語モデルはこれ以上賢くならず庶民的になっていく

ChatGPTはめちゃくちゃ賢いんだけど、変な間違いをするし話が通じないこともあります。 ここで「もっと賢くなったら数年後には・・・」のように思ってしまいがちなのだけど、GPT4より目に見えて賢くするのは難しい気がします。 むしろ、人間くさくなったり使…

メモリを追加して64GBになったので動かせなかった言語モデルを試した

いろいろと大規模言語モデルを試すと、CPUで動かすときにメモリが足りなくて大きいのが動かせなくて残念な気持ちになっていたのだけど、調べてみるとメモリ32GBは1万円くらいなので、追加して試してみました。 Stable Diffusionはいい感じにメモリが刺さった…

新しいプログラミング言語が出てこない(新しく出てた言語を追記)

2010年代前半にKotlinが2011年、TypeScriptが2012年、Swiftが2014年、Rustが2015年と、新しいプログラミング言語が立て続けに発表されていましたが、そこを最後にみんなが話題にするような言語は出てきていません。 なんでだろうと、思いつく要因をあげてみ…

GPTのEmbeddingを使った近いエントリを探す処理がVector APIなどで10倍高速になった

以前のエントリで、GPTのEmbeddingを使ったベクトルデータでブログの「方向性」を登録して、検索語やブログに近いブログを探すというのをやりました。 これ、少し高速化できるかなと、やってみました。 結論としてはListをdouble[]にするとかなり速くなり、…

IntelliJ IDEAやNetBeansでVector APIを試す

Java 16でVector APIがIncubatorとして追加されたけど、IDEでの利用方法がなかなかネットにないので、まとめ。 Mavenプロジェクトを前提に。 pom.xmlの/project/build/pluginsの下にコンパイラプラグインを追加。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-</artifactid></plugin>…