accounts/docs/bench_embedding.md

34 lines
1.4 KiB
Markdown
Raw Normal View History

建一个模型清单:
echo bge-m3:latest > models-emb.txt
跑评估(限定 1024 维,更贴合 pgvector(VECTOR(1024))
bash docs/bench_embedding.sh --input_config models-emb.txt --require-dim 1024
# 如需导出 CSV
CSV_OUTPUT=1 bash docs/bench_embedding.sh --input_config models-emb.txt --require-dim 1024
常用命令(以 1024 维 BAAI/bge-m3 为例)
# MPSMac+ FP16128 token 文本,批量 32共 2048 样本
python hf_embedding_bench.py --model BAAI/bge-m3 --device mps --dtype float16 \
--batch-size 32 --seq-len 128 --num-samples 2048 --warmup 10
# CUDA + BF16若支持批量 64
python hf_embedding_bench.py --model BAAI/bge-m3 --device cuda --dtype bfloat16 \
--batch-size 64 --seq-len 128 --num-samples 4096 --warmup 20 --compile
# CPU 基线
python hf_embedding_bench.py --model BAAI/bge-m3 --device cpu --dtype float32 \
--batch-size 16 --seq-len 128 --num-samples 512
小提示(让数字更准)
CUDA/MPS 下会自动 synchronize()计时更准确forward 使用 autocastfp16/bf16提升吞吐。
--seq-len 是近似长度,脚本会用 tokenizer 截断到 --max-length默认 512
tokens/s 是按 attention_mask 实际非 padding 的 token 数统计的。
你要严格对齐 1024 维:看脚本输出的 Output dim: 是否为 1024bge-m3 会是 1024和你 PG 表 VECTOR(1024) 一一对应。