add use description
This commit is contained in:
50
usage.md
50
usage.md
@@ -113,9 +113,57 @@ cd ~/.cache/openai_harmony/
|
|||||||
wget https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken
|
wget https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken
|
||||||
export OPENAI_HARMONY_CACHE_DIR=~/.cache/openai_harmony/
|
export OPENAI_HARMONY_CACHE_DIR=~/.cache/openai_harmony/
|
||||||
chmod 755 ~/.cache/openai_harmony/
|
chmod 755 ~/.cache/openai_harmony/
|
||||||
python -m gpt_oss.responses_api.serve --inference-backend metal --checkpoint /Volumes/long990max/gpustack_data/openai/gpt-oss-20b/metal/model.bin --host 0.0.0.0 --port 8080
|
python /Volumes/long990max/project/openharmony-mlx/gpt_oss/metal/scripts/create-local-modelnew.py -s /Volumes/long990max/gpustack_data/huihui-ai/Huihui-gpt-oss-20b-mxfp4-abliterated -d /Volumes/long990max/project/openharmony-mlx/model.bin
|
||||||
|
|
||||||
|
micromamba activate gptoss && python -m gpt_oss.responses_api.serve --inference-backend metal --host 0.0.0.0 --port 8080 --checkpoint /Volumes/long990max/gpustack_data/openai/gpt-oss-20b/metal/model.bin
|
||||||
|
# 启动拒绝少的权重
|
||||||
|
micromamba activate gptoss && python -m gpt_oss.responses_api.serve \
|
||||||
|
--inference-backend metal \
|
||||||
|
--checkpoint /Volumes/long990max/project/openharmony-mlx/pth/gpt-oss-20b-uncensored-mxfp4/metal/model.bin \
|
||||||
|
--host 0.0.0.0 --port 8080
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## gpt-oss-120b 模型选择
|
||||||
|
|
||||||
|
huizimao/gpt-oss-120b-uncensored-bf16(LoRA,BF16)
|
||||||
|
在 Amazon FalseReject 测试集(300条)上的 误拒率≈6%(原版≈70%)。适合你追求最低误拒、且硬件吃得下 BF16 的场景。
|
||||||
|
|
||||||
|
huizimao/gpt-oss-120b-uncensored-mxfp4(LoRA + PTQ,MXFP4)
|
||||||
|
同一评测设置下,误拒率≈24%;相比 BF16 版本误拒稍高,但体积/部署友好,便于与你现在的 Metal/MXFP4 流水线对接。
|
||||||
|
|
||||||
|
## 以后要转其它 finetune 的 safetensors(同 20B)时,提前确认这几件事(最小清单)
|
||||||
|
|
||||||
|
config.json 至少含(或能推导):
|
||||||
|
|
||||||
|
num_hidden_layers, hidden_size, intermediate_size
|
||||||
|
|
||||||
|
num_attention_heads, num_key_value_heads, head_dim(若 head_dim != 64 就不能 bake Q/K 缩放)
|
||||||
|
|
||||||
|
sliding_window, rope_theta, initial_context_length
|
||||||
|
|
||||||
|
rope_scaling_factor 或 rope_scaling.factor;rope_ntk_alpha/beta(给了默认 1.0/32.0)
|
||||||
|
|
||||||
|
MoE:num_experts 或 num_local_experts;num_active_experts/experts_per_token(默认 4)
|
||||||
|
|
||||||
|
权重命名是否落在这两类之一(脚本已兼容):
|
||||||
|
|
||||||
|
原生:block.N.attn.qkv.* 或 q_proj/k_proj/v_proj.*;mlp.mlp{1,2}_weight.{blocks,scales} + mlp{1,2}_bias
|
||||||
|
|
||||||
|
Jinx:model.layers.N.self_attn.{q,k,v}_proj_*;mlp.experts.{gate_up,down}_proj_{blocks,scales,bias}
|
||||||
|
|
||||||
|
特殊 Token:必须与 Harmony GPT-OSS 的映射一致(我脚本里写死了)。常见问题是有人把
|
||||||
|
"<|endofuntrusted|>" 拼成 end_untrusted —— 这会导致 UUID 表错位;我这份脚本固定了官方拼写。
|
||||||
|
|
||||||
|
MXFP4 scales:随手跑一眼(我给你的 peek_scales_v2.py 就行)。如果 max + 14 >= 256,脚本的 clamp 就会生效,避免坏值写入。
|
||||||
|
|
||||||
|
快速自测:除了上面的 curl SSE,建议每次都跑一下:
|
||||||
|
|
||||||
|
tests/token_uuid_slot.py 对 <|channel|> / <|message|> / <|return|> / <|call|> 看 slot 与 UUID 是否匹配;
|
||||||
|
|
||||||
|
tests/smoke_metal.py 推几个 token,确认不会崩溃或卡死。
|
||||||
|
|
||||||
|
以上都满足,基本可以保证在 Codex 的 responses 线上协议里稳定工作。
|
||||||
|
|
||||||
## cherrystudio 配置
|
## cherrystudio 配置
|
||||||
|
|
||||||
添加提供商选择`OpenAI-Response`
|
添加提供商选择`OpenAI-Response`
|
||||||
|
|||||||
Reference in New Issue
Block a user