2024-02-01から1ヶ月間の記事一覧
https://github.com/ggerganov/llama.cpp/pull/5747 llama.cpp では最近、ikawrakow氏による量子化手法のアップデートが熱心に行われています。 新しい量子化の実装が重なり個人的に分かりづらくなってきたので、簡単に整理しておこうと思います。 quantize.…
「ファインチューニングか検索(Retrieval)か?LLMにおける知識追加手法の比較」というarXiv論文が上がっていました。執筆者はMicrosoft Israelの研究グループです。 arxiv.org 先日、Microsoft の別のグループが「RAG vs ファインチューニング:パイプライン…
年明けにllama.cppに実装された「Importance Matrix(重要度行列?)」を使用したgguf量子化について調べてみました。 Importance Matrixは、llama.cppのikawrakow氏が取り組んでいる一連の量子化精度改善の中心的なアイディアのようで、特に2-3bitの極端な…
llama.cpp の量子化では、safetensorsなどの元モデルを一度FP16フォーマットのggufに変換した後で(convert.py)、このFP16モデルをもとに./quantizeによって8bitや4bitなどのggufに圧縮します。 ただquantize.cppに目を通すと [--allow-requantize](再量子…
LLMに知識を追加するためのファインチューン手法を調べていたところ、限られたデータセットを量的に拡張する「データ拡張/Data Augmentation」という研究領域があることを知りました。 簡単に見てみると、データ拡張はテキストAIよりも画像AI・音声AIなどの…
Redditに「ファインチューンにおける各チャットフォーマットの長所/短所」という投稿が上がっていました。 長文ポストですが、一部を訳出すると: 古き良き「Alpacaフォーマット(###Instruction\n...)」は、1)ベースモデルを含めどんなモデルでも指示追従…
RedditのローカルLLM板に「Llama-2とチャットしてたら、驚くような質問をされた」という投稿が上がっていました。 https://www.reddit.com/r/LocalLLaMA/comments/1amfiec/took_me_by_surprise/ 曰く、投稿者がuncensoredの(非検閲データセットで学習した)…
ファインチューンでLLMに知識を教え込むための試行錯誤を解説した記事がありました。 helixml.substack.com 投稿者は、最初Llmaindexのドキュメント("知識記憶させるためのファインチューン")で紹介されている手順で試したものの、うまくいかなかったよう…
チャットテンプレートについて ローカルLLMのチャットテンプレートはモデルによってバラバラで、けっこう不便に感じる場面が多いです。 Alpacaデータセットに由来するAlpaca形式(###Instruction\n\n...)や、ChatGPTが採用するChatML形式が有名ですが、例え…
Redditに「LLMの量子化の影響を調べてみた」という投稿が上がっていました。 huggingface.co LLMの量子化では、最小で2bit近く(ファイルサイズ1/8程度)まで圧縮できますが、圧縮率を高めると出力の質が低下することが知られています。 ただ量子化による変…
OpenAI APIを使った各種アプリケーションをローカルLLMに置き換えるためのOpenAI代替API機能についてのメモです。 いずれも、パッケージ標準のAPI機能に追加してOpenAIスタイルのAPIに対応させたものです。ChatGPT互換にこだわらない場合はそれぞれの標準API…