Stability AIのStableVicuna,オープンソースChatBotを動かす Stability AIから、"世界初のオープンソースRLHF LLMチャットボット"が謳い文句のChatGPT競合品?が出たので早速使ってみた。既にリリースされているFastChat(Vicuna-13b)130億パラメータLLM(大規模言語モデル)をRLHF(人間のフィードバックからの強化学習)で更にファインチューニングしたモデルだそうだ。Vicuna-13bは既に、色々試しているので、比較してみた。StableVicuna-13Bを使うためにはLLaMA13bのライセンスが必要なので、申請する必要がある。Vicuna-13bと同様に、llama-13bとstable-vicuna-13b-deltaのweightを変換してマージするとstable-vicuna-13bが得られる。変換するには64GB以上のCPUメモリが必要。更に、stable-vicuna-13bを実行するには26GB以上のVRAMを搭載したGPUボードが必要になる。実際にデモ用のpythonコードを元に動かしてみた。 python mystable_vicuna.py TransformersとPyTorchを使ってテキスト分類用のpythonプログラムを書いてくれとお願いする。すると実際にそれらしいpythonコードを作ってくれる。 ### Human: Write a Python script for text classification using Transformers and PyTorch… ITTech/AI ChatGPT Stability AI StaleVicuna opensource LLM RLHF
ChatGPT代替えプロジェクトFastChat(Vicuna-13B)を安価なGPUで動作 ChatGPTより小規模のLLMモデルで90%の性能がうたい文句のFastChat(Vicuna)をより低価格なGPUで動作させる方法を考えてみた。FastChatはオープンソースで公開されていて、自前のローカルな環境でも動かすことができるほどコンパクトなLLMだ。オンプレミスで試験的に評価、運用することも可能。それでも、vicuna-13b(130億パラメータ)モデルをフルスペックの16bit精度でinferrence(会話)するにはNvidia A100 40/80GB クラスのGPUカードが標準的には必要だ。下手な車が買えそうな値段だが。これを手持ちのRTX3090(24GB) + GTX1080Ti(11GB)でも動かせるようにした。これでぐっとGPUの敷居が低くなって、だれでも簡単に自前で使えるモデルになりそうだ。vicuna-7bとvicuna-13bではかなり性能に差がある、vicuna-13bを精度を落として8bitで使うと、微妙だが、無視できない差が出る。せっかくのLLM(大規模言語モデル)なので、やはりvicunna-13bをフルスペックの16bit精度で動かしたい。vicuna-13bをフルスペックで動作させるには26GB以上のGPU VRAMが必要となる。RTX3090(24GB) + GTX1080Ti(11GB)の2枚のボードで合計35GB VRAMなので余裕で動作しそうだが今までFastChatでは動作させることができなかったが、FastChatのGitHubに私の修正コードをPR(Pull Request)したら承認され、本体(main)にマージされたので、現在のFastChatの最新版では動作するようになっている。これで、RTX3090/4090(24GB) + RTX2060/3060/4070(12GB) クラスのボード構成でも動く。うまくいけば24GB + 8GB VRAMや16GB+12GB… ITTech/AI FastChat ChatGPT Vicuna-13B Vicuna Generative AI GPU device_map max_memory on-premises
ai_Ueharaさんが村上春樹がノーベル文学賞を受賞出来るか答えた ChatGPTクラスのチャットAI、FastChat(vicuna-13b)にai_Ueharaさんが、村上春樹氏がノーベル文学賞を受賞できるか答えてくれた。ai_Ueharaさんは画像生成AI(Stable Diffusion)で生成された人工知能のアバターです。今回はFastChatをCLI(コマンドライン)で使ってみました。python3 -m fastchat.serve.cli --model-name path/to/vicuna-13b --load-8bit チャットAIとの会話はこうなりました。 Human: こんにちわ、今日は日曜日ですね。Assistant: そうですね、こんにちは。日曜日ですね。 Human: アップル社の時価総額を知ってますか。 Assistant: Apple Inc.'s market capitalization is… ITTech/AI Stable Diffusion FastChat ChatGPT Vicuna-13B Vicuna ai_Uehara
チャットGPTに匹敵する性能の日本語対応チャットAI FastChat(Vicuna) ChatGPTに匹敵する性能の日本語対応チャットAI FastChatがオープンソースとして公開されたので、実際にPCにインストールして使ってみた。FastGPTのVicuna Weight(LLM)はoriginalのLLaMA weightsにVicunaの差分を合わせて変換して保存する。 python3 -m fastchat.model.apply_delta \ --base /path/to/llama-13b \ … ITTech/AI GPT FastChat ChatGPT Vicuna-13B Vicuna Generative AI GPT-4
RustでBase64処理プログラム Rust言語でBase64処理プログラムを書いてみた。Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。 ウィキペディア"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"これらの64文字を使ってバイナリデータを表現する。ちなみに"Rust"文字列はBase64で"UnVzdA=="と表される。24bit毎のデータを6bit単位で分割して4文字で表現するので、データが24bitに満たない場合は'='文字で残りを埋めて4文字単位に調整する。 ITTech RUST
Rust言語のlet-else制御構文を試す Rust 1.65から使えるようになったlet else 制御文を試してみた。Rust言語には、他の言語ではあまり見かけないようなif-let-elseのような便利な制御構文があるが、更にlet elseが追加された。The Rust RFC Bookにはlet-elseはrefutable(反駁可能)なlet文だと説明してる。let PATTERN: TYPE = EXPRESSION else DIVERGING_BLOCK;実際のコードでやってみる。 /// Key number… RUST ITTech/Rust 画像生成AI Stable Diffusion rust-stable-diffusion
Rust言語で画像生成AI「Stable Diffusion」 Rustコンパイラで画像生成AI(Stable Diffusion)を試してみた。意外と簡単でLinux(Ubuntu20.04)で以下のコマンドを入力するとcargo run --example stable-diffusion --features clap -- --prompt "A rusty robot holding a fire torch."最近では2万円以下で手に入る廉価版Ryzen… pytorch RUST ITTech/Rust Transformers 画像生成AI Stable Diffusion Stable Diffuser diffusers-rs rust-stable-diffusion
VisionFive2 RISC-V SBCを試す(Debianで3DCG) "VisionFive 2 - 3D GPU を統合した世界初の高性能 RISC-V SBC"がキャッチコピーのボードコンピュータを試してみた。 クラウドファウンデイングに応募したボードがようやく昨年末に手元に届いた。StarFive社のRISC-V JH7100 Socに3D GPU内蔵。4GB Memory/Dual LAN/M.2 Nvme SSD slot/USB3.0… ITTech VisionFive RISC-V SBC vulkan JH7100 StarFive