自然言語処理
はじめに Hugging FaceにあるLINE社の日本語言語モデルの実行例では、四国の県名をたずねるシンプルな受け答えのみなので、凝ったことができるか試してみた。結果、前提知識をもとに回答できることがわかった。 実験 準備 LINE社の日本語言語モデルを、GPTNe…
はじめに LINE社の日本語言語モデルを手元のmacOSで試したくて、llama.cppのRuby bindingsを作ってる経験を活かして簡単なGPT-NeoXモデルのクライアントを作った。 github.com モデルの準備 LINE社の言語モデルをggml形式に変換する。ggmlをcloneしてきて、…
概要 llama.cppのRuby bindingsであるllama_cpp.rbでもLlama2が使えた。 github.com インストール llama_cpp.rbのインストールは、通常のnative extensionsなgemと同様である。 $ gem install llama_cpp もしmacOSを利用しているなら、metalオプションをつけ…
はじめに 以前に作ったllama.cppのRuby bindingsであるllama_cpp.rbでチャットボットのサンプルを作った。llama.cppのexamples/main/main.cppをいい感じにRubyにすれば作れるので「誰か作ってくれないかな」という他人まかせな気持ちでいたが、作る時間がと…
はじめに llama.cppはMetaの大規模言語モデル (Large Language Models, LLMs) であるLLaMAを、量子化することでCPU上で動作させるものである。C/C++で実装されているので、Ruby bindingsを作って、Rubyから呼び出せるようにした。 github.com 使い方 インス…
はじめに Rubyでなにか大規模言語モデル (Large Language Models, LLMs) に関することをやってみようと思って、SentencePieceのbinding gemがないことに気づいて作った。 github.com SentencePieceはニューラルネットワークな言語処理向けに作られたTokenize…
はじめに Rubyな形態素解析器Suikaの単語検索のためのトライを、先日リリースしたdarts-clone.rbに変更してバージョンを上げた。 suika | RubyGems.org | your community gem host 使い方 変更は内部的なものなので、Suikaの使い方自体は変わらない。 gem in…
はじめに Susumu Yataさんが作られたDarts-cloneは、Darts(Double-ARray Trie System)というライブリのクローンで、共通接頭辞検索を実現するデータ構造のダブル配列(Double Array)の実装である。Darts-cloneは、DartsとAPI互換性があり、検索の機能や速…
はじめに Pure Rubyな形態素解析器Suikaを作成したが、未知語処理がバグだらけで、リリースして1週間で4回もバージョンアップしてしまった。現在 ver. 0.1.4 だが、もう安定して動くはず。 suika | RubyGems.org | your community gem host 未知語処理の勘違…
はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくこ…