2023-01-01から1年間の記事一覧

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

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>…

GPT4ALLを動かす

そしてGPT4ALL GPT4ALLのレポジトリをクローン https://github.com/nomic-ai/gpt4all > git clone https://github.com/nomic-ai/gpt4all.git ここからモデルをダウンロード https://the-eye.eu/public/AI/models/nomic-ai/gpt4all/gpt4all-lora-quantized.bi…

日本語が通る大規模言語モデルCerebras-GPTを動かす

またなんか大規模言語モデルが公開されてましたね。 ということで、Cerebrasが公開したモデルを動かしてみます。日本語が通る感じ。 商用利用可能というライセンスなども含めて、一番使いやすい気がします。 https://huggingface.co/cerebras ここでいろいろ…

FlexGenでおうちのパソコンとお話する

前のエントリでFlexGenも話題に出したので、メモを。 画像は、なんかStable DiffusionにFlexGenって入れていろいろやってたらかっこいいのが出たやつ。 おうちの8GB VRAM GPUでChatRWKVと会話する - きしだのHatena FlexGenは、おうちでChat AIが動かせるぞ…

Alpaca.cppでおうちのパソコンとお話する

前回のエントリではChatRWVKを動かしたのだけど、Alpaca.cppもちょっと試してみてたのでメモを。 おうちの8GB VRAM GPUでChatRWKVと会話する - きしだのHatena ほとんどの大規模言語モデルがPythonで書かれてるけど、Alpaca.cppは名前のとおりC++で書かれて…

おうちの8GB VRAM GPUでChatRWKVと会話する

ChatGPTが話題ですが、そういうのをおうちで動かしたいですよね。 ということで、おうちで動かしやすくて割と会話ができるChatRWKVを試してみます。 ChatGPTは実装は公開されておらず手元で動かすことはできません。けど、サービスがたまに落ちてたりするの…

ChatGPTは長期記憶と短期記憶を持っている

そういえば、ChatGPTには長期記憶と短期記憶がありますね。 ChatGPTはニューラルネットワークベースのAIです。そして、ニューラルネットワークではネットワークノードの接続の重みとしてデータが保持されます。この重みがパラメータと呼ばれています。 GPT4…

ChatGPTでクオリアを説明するときの「メアリーの部屋」

前のエントリへのコメントで、メアリーの部屋という記述が出てるのだけど、むしろこのChatGPTでクオリアを説明する考え方を補強できる話ではないかと。 メアリーの部屋というのは、白黒しか見えない部屋に住んでいる色彩専門家メアリーが、色に関する知識は…

クオリア問題はChatGPTで説明がつく

クオリアというのは、たとえば赤い色をみたときに、それがカラーコードとして同じであっても、リンゴの赤と血の赤で想起される「赤らしさ」が違うよね、そのそれぞれの「赤らしさ」とは?みたいな話です。 それがChatGPTの挙動と対応づけれるんではないだろ…

Java 20でレコードパターンとswitchの組み合わせのバグをみつけた

Java 20がリリースされましたが、いろいろいじってると変な落ち方をしていて、どうもバグぽいので報告しました。 ※ 追記 4/19 JDK20.0.1がリリースされて修正されてます。 再現コードこんな感じ。 public class PatternSample { sealed interface Type { rec…

Java 20がリリースされました。

こちらにまとめています。 Java 20新機能まとめ - Qiita

文章が書きかけて終わってるのを見ると「お、ChatGPTかな?」と思うようになっ

おもしろすぎた。 最近、文章が書きかけて終わってるのを見ると「お、ChatGPTかな?」と思うようになっ— きしだൠ(K1S) (@kis) 2023年3月20日 あと、やはりぼくは文章を中途半端に書くとバズるのでは? 中途半端のスヽメ - きしだのHatena (角さんはリーダブ…

GPTのEmbeddingを利用してブログの投稿に対する近いものを探し出す

OpenAIでGPTを使ったAPIにembeddingというのがあって、これを使うと文章同士の距離がとれるので、近いエントリを取得したり文章から検索したりができるということで、試してみました。 思いのほかちゃんと動きました。おそらく、GPTで一番実用的なんじゃない…

POIを使わずJava標準ライブラリでExcelファイルを生成する

某オープンチャットでPOIを使わずにExcelファイルをダウンロードという質問が来ていて、まあそこでは「POI使いましょう」ってなったのだけど、結局XMLファイルなので出力対象が決まってればそんなに難しくないのではと思ったのでやってみました。 流れとして…

ChatGPTは真にプログラミング知識なしでのコンピュータ操作を実現している

ChatGPTで文章を要約したり口調を変えたりゲームのルールを教えてゲームを遊んだり、みんな いろいろな使い方や楽しみ方をしていると思います。 中にはプログラミングにあまり縁のない人も多くいます。 これ改めて考えると、自然言語でコンピュータを操作指…

今年の秋、人びとは自分が去年までとは変わってしまったことに気付く

秋の夜長、虫の鳴き声が聞こえだすと、夏が終わったなぁと感慨にふけることもあると思います。 しかし、今年の秋には、今までになかった感情が芽生えていることに気づくかもしれません。 秋の夜に鳴く虫というと、鈴虫が最初に思い浮かびますが、エンマコオ…

ChatGPTより賢く質問に答えれるチャットBotを作る(誇張表現)

ChatGPTは2021年9月までのWebテキストで学習しているので2022年の知識を持っておらず、ワールドカップ2022年大会の優勝者を知らなかったりします。 BingではWeb検索と組み合わせることで解決しているので、それを自分で作ってしまえばいいのでは、とやってみ…

オブジェクト指向はコードを複雑に読みにくくする

「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います…

Web記事の本文をJavaで抽出する

指定したURLの記事本文を取ってくる処理がほしいなぁと思って、しかしいろいろ考えるのは面倒と思ったけど、少なくともJavaで簡単に使えるものがなさそうなので実装した。 参考にしたのはこちら。 HTMLからの本文自動抽出 - アドファイブ日記(ミラー版) テ…

Stable Diffusionの「呪文」の与え方

最近はブログにStable Diffusionが生成した画像を出すようにしています。Stable Diffusionなど画像生成AIでは、パラメータとして与えるプロンプトに呪文のようなことを書かないといけないので、呪文詠唱スキルみたいなのが求められるようになってますが、そ…

ChatGPTによって世の中の「AI」の理解がすすんだ

もうなんかどこもかしこもChatGPT、という感じで流行ってますね。といいつつ、ぼくも割とChatGPTのブログ書いてます。だっておもしろいもん。 そして、多くの人が触って、今のAIの特性みたいなものに気づく人が多くなってるように思います。 世の中でAIが流…

プログラミング言語へのMicrosoftの影響力がヤバい

Tiobe indexを眺めながら、C#とVBが入っていてMicrosoftは強いなーと思ったのだけど、よくみると他の言語もMicrosoftの影響力すごいのではとなったので調べてみた。 https://www.tiobe.com/tiobe-index/ Python 例えば1位のPythonにMicrosoftはかなり力をい…

Microsoft OpenJDKのエスケープ解析改善を試したら割と効いてる

MicrosoftのOpenJDKにエスケープ解析の改善が入ってるってことで試してみました。 https://www.infoq.com/news/2023/02/microsoft-openjdk-feature/ Microsoftのアナウンスはこちら。 https://devblogs.microsoft.com/java/microsoft-build-of-openjdk-octob…

JobRunrを試してるんだけどクセが強い

JobRunrという、バッチ処理とかバックグラウンドタスクとかを試してみたんだけど、よくわからない・・・ https://www.jobrunr.io/en/ dependencyにはjobrunrと、あと何かJSONパーサーを入れます。ここではjacksonにしてますが、GSONかyassonでもいいぽい。 <dependency> <groupId></groupid></dependency>…

ChatGPTに負けないために大切なこと

ChatGPT、人気ですよね。 そして、こんなに賢いAIが現れたら人間の仕事はなくなるような気がしてしまいます。 そこで、ChatGPTに負けないためにどうしたらいいか考えてみます。 ※ChatGPTに負けない必要があるのか、というのはまた別の話。 原理、原則を知る …

ギターのスケールを確認できるツールを作ってみた

ギターの練習をするときに、スケールとかコードのポジションを確認するのがめんどくさく、あと指板全域にわたってポジションを知りたくてもなかなか求めるものがなかったりしたので、作ってみました。 https://kishida.github.io/guitarscale/ この怪しいギ…