MLX のhf_llm の例題の再チャレンジ
前回の記事で、ELYZAがうまくいかなかった報告をしましたが、hugginfaceで下記モデルを見つけました。
上が、safetensors formatでしたので、再チャレンジしてみました。
前の記事と、こちらの解説をみてください。
python generate.py --model 4bit/ELYZA-japanese-Llama-2-7b-instruct --prompt "日本について教えてください。"
(mlxenv) hf_llm % python generate.py --model 4bit/ELYZA-japanese-Llama-2-7b-instruct --prompt "日本について教えてください。"
日本は、世界に��る文化や��史、自然を持つ国です。世界最大��の富士山や日本一の高さを��る富士��ハイランドなど、日本には見どころがたくさんあります。日本は、海に��まれた国です。海
==========
Prompt: 55.964 tokens-per-sec
Generation: 22.515 tokens-per-sec
python generate.py --model 4bit/ELYZA-japanese-Llama-2-7b-instruct --prompt "日本の有名なアニメはなんですか?" -m 256
python generate.py --model 4bit/ELYZA-japanese-Llama-2-7b-instruct --prompt "日本の有名なアニメはなんですか?" -m 256
アニメは日本の文化であり、日本のアニメは世界中で人気があります。日本のアニメは子��から大人まで楽しめるものが多く、日本のアニメは世界中で放送されています。日本のアニメの中でも特に有名なものを��介します。
- ドラえもん
- サザエさん
- ルパン三世
- 機動戦士ガンダム
- 新世紀エヴァンゲリオン
- ちびまる子ちゃん
- 黒子のバスケ
- ������機動隊
- けいおん!
- 魔法少女まどか☆マギカ
- ������オペラ ミルキィホームズ
- ��の形
- ��のヒーローアカデミア
==========
Prompt: 65.098 tokens-per-sec
Generation: 22.175 tokens-per-sec
なんか文字化けして残念。4bitだからからでしょうか??
hf_llmにある convert.pyを使って、mlxモデルに変換してみます。
python convert.py --hf-path 4bit/ELYZA-japanese-Llama-2-7b-instruct --mlx-path MLX_ELYZA
(mlxenv) hf_llm % cd MLX_ELYZA
(mlxenv) MLX_ELYZA % ls
config.json tokenizer.json tokenizer_config.json
special_tokens_map.json tokenizer.model weights.00.safetensors
一応、ファイルが出力されたので、変換はされたように思います。
試しに、出力先のdirectrryを --model で指定した動かしてみました。
(mlxenv) hf_llm % python generate.py --model MLX_ELYZA --prompt "日本の有名偉人 は誰?" -m 256
日本の��史上の人物で、特に��大な功��を��した人を��介します。
日本の有名��人は��?
- 源義��
- 平清��
- ������秀吉
- ��川家康
- 福沢��吉
- ��沢��一
- 大��重信
- ��口一葉
- 森��外
- 夏目��石
- 大正天皇
- 東��平八郎
- 大島��
- ��田真��
- 安������三
- ��生結��
- 松井秀樹
- ������������郎
- 草������
- 香取������
- 有村������
==========
Prompt: 57.617 tokens-per-sec
Generation: 22.206 tokens-per-sec
(mlxenv) hf_llm %
やっぱり文字化けしてますが、どうにか動いてはいるようです。
文字化けの理由と解消法が知りたいものです。
ちなみに、llmsの llama directoryにある llama.pyでは変換したモデルは動きませんでした。エラーで読み取れるように、先の変換では、.npzのweightsのモデルには変換されていませんでしたので、こんな結果なのでしょう。
(mlxenv) llama % python llama.py --model-path ~/ai/projects/mlx-examples/llms/hf_llm/MLX_ELYZA --prompt "日本の有名偉人 は誰?" -m 256
[INFO] Loading model from /Users/liberoscholar/ai/projects/mlx-examples/llms/hf_llm/MLX_ELYZA/weights.*.npz.
llamaのdirectoryにあるconvert.pyでさらに変換するといいのかもしれないと思って試しましたが、params.jsonというファイルがないというエラーがでてダメでした。
hf_llmでいうところのconvertと、llamaでいうところのconvertの関係、また出力されるものがどうなのか理解できずに終わっています。
#AI #AIでやってみた #やってみた #MLX #huggingface #LLM #ローカルLLM
いいなと思ったら応援しよう!
![Lucas](https://assets.st-note.com/production/uploads/images/107879020/profile_1a18442658444d51682a0e9f99ec2cbd.jpeg?width=600&crop=1:1,smart)