Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RでローカルLLM
Search
HIGUCHI, Chihiro
December 09, 2024
760
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RでローカルLLM
HIGUCHI, Chihiro
December 09, 2024
More Decks by HIGUCHI, Chihiro
See All by HIGUCHI, Chihiro
Singularity仮想化でバイオデータ解析
zgmfx20a
0
920
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
260
Amusing Abliteration
ianozsvald
1
210
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
How to build a perfect <img>
jonoalderson
1
5.7k
Deep Space Network (abreviated)
tonyrice
0
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Google's AI Overviews - The New Search
badams
0
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
RでローカルLLM 医薬基盤・健康・栄養研究所 東京科学大学 樋口千洋 2024/12/10 統計数理研究所共同利用研究集会「データ解析環境Rの整備と利用」
2023年のローカルLLM利用事情 • 動かすだけでも高性能なGPU搭載PCが必要だった • A100クラスのGPUが何枚も必要とされた→1千万円以上? • RNNベースのRWKVモデルの登場 • https://note.com/shi3zblog/n/na991171b8fdd •
Transformerは計算量が膨大 • 本環境はたしかA6000無印 (48GB)を使用→それでも高額 • SLMと呼ばれる小規模な言語モデルの登場 • 量子化手法によるメモリ節約 • 16ビット浮動小数点精度を諦め8ビットで格納量を2倍にする • Bitnet(1.58bit)への淡い期待 …
2023年の研究集会で話したこと
2024年になると状況は一変 • Ollamaを使えば非GPU PCでも容易にローカルLLM利用可 • ほかにもLMstudioやvLLM、MLX(Apple silicon) • Ollamaで使えるLLMは https://ollama.com/libraryで公開
• 今春(2024/5)の大阪24時間AIハッカソンでollamaを使用 • https://note.com/shi3zblog/n/n1c5313748849 • 64GB搭載のMacBookProでCohereのCommand-Rモデル利用 • https://pc.watch.impress.co.jp/docs/column/nishikawa/1582380.html • レスポンスは問題なし • GPUがあるならあったほうが速いが、モデルがロードできないと意味がない • モデルサイズ59GBのCommandR+の利用は本環境では厳しい • CommandR-35Bは19GB→24GBVRAMのGPUでも厳しい? • コンシューマー用GPUは大きくてVRAM容量は16GB→8GB前後のモデルまで?
https://ollama.com/library/llama3.1 何故ローカルLLMにこだわるか? • 個人情報データ解析の現場ではインターネットが使えない • プロトタイプ試作時の頻繁な利用 • プロンプト(文脈内学習)の検証 • 大規模(パイプライン)なアクセス検証
• 公開されたローカルLLMの利用は無料 • トークン⾧(文脈内学習に大きく影響) • GPT-4oの最大トークン⾧は8192 • Geminiの最大トークン⾧はとても大きいがGemmaはそうでもない • Llama3.1の最大トークン⾧は128k • 128kのトークンを与えてちゃんと動くかどうかは別 • トークン⾧が多いと商用LLMの場合はAPI利用料が膨大 • ⾧文プロンプトによる文脈内学習(ICL)はRAGを凌ぐという報告も • RAG(Retrieval Augmented Generation) • 外部データベースによる情報から生成AIを使用しハルシネーションを抑制する試み
OllamaでローカルLLMを利用
Ollamaのインストールと起動(Ubuntu) • Ollamaのインストールとサービス起動 • シェル • Curl –fsSL https://ollama.com/install.sh |
sh • Sudo systemctl start ollama • Docker • docker run -d [--gpus=all] -v ollama:/root/.ollama -p 11434:11434 -- name ollama ollama/ollama • Singularity (上記Dockerイメージを変換) • sudo singularity build ollama.sif docker-daemon://ollama/ollama • singularity exec –nv ollama.sif ollama serve • http://XXX.XXX.XXX.XXX:11434/にアクセス
OllamaでLLMを利用 • スタンドアローンで利用 • ollama pull <model> (https://ollama.com/library) • ollama
run <model> • ネットワークを介しての利用 • curlでhttp://xxx.xxx.xxx.xxx:11434/をアクセス • Open WebUI • Python/JS (正式サポート) • LangChain、LlamaIndex • Dify、Replit、Bolt.new-multiLLM • Emacs • R! • Rollama/cranパッケージ • https://github.com/cran/ollamar→localhostだけしかアクセスできない? • 注意点 • LLMへ渡すトークン⾧が規定値2048→制限解除が必要(num_ctx)
rollamaパッケージ • ライブラリのロード • library (rollama) • 接続 • options
(rollama_server = “http://example.com:11434/”) • LLMの導入 • pull_model (“nemotron”) # ollama側でpullするので使わない • 導入したローカルLLMの一覧 • list_models () • モデルの指定 • options (rollama_model = “llama3.2-vision”) • options (rollama_model = “7shi/tanuki-dpo-v1.0”) • チャット • new_chat () • query (q = <プロンプト文字列>, model_params = list (num_ctx = XXXX))
GENIAC 松尾研 LLM開発プロジェクト • https://huggingface.co/weblab-GENIAC/Tanuki-8x8B-dpo-v1.0
https://www.docswell.com/s/KanHatakeyama/5YDDJE-2024-09-18-214202#p7 大規模言語モデル Tanuki-8x8Bの紹介と開発経緯など Ollamaでも提供
動作環境 • PC • DELL XPS 8950 / 32GB RAM
/ GeForce RTX 3070 (8GB) • OS • Ubuntu 24.04 LTS • Ollama • Version 0.4.5 • 一昨日ollama 0.5.0ローンチ • Json出力 • Llama 3.3 70b (42GB) → 本構成では実施不可
文脈内学習(In Context Learning) • Zero-shot • 具体例を与えず照会 • Few-shot •
具体例を一例与えて照会 • Chain of Thought (CoT) • 推論プロセスを指示 • 単語の中に特定の文字がいくつ含まれるかは1文字づつにして文字を調べる • Sapporo.RやYakitori.Rの中にRはいくつある?
ICLのrollamaパッケージによる実行例 • rollamaパッケージのvignetteから
マルチモーダル(llama3.2-vision)
マルチモーダル(Marco-o1)
でアブストラクトを翻訳
None
おわりに • (ローカル)LLMは身近になってきた • 身近どころか積極的に研究の道具として活用 • Rと組み合わせて新しい探索的研究 • RAGもやりたいがライブラリなしには厳しいかも •
reticulateパッケージを使う? • 文脈内学習で頑張る!
ご清聴 ありがとうございました