Passer à la navigation

DeepSeek-V3

Afficher en Markdown

Créer un point de contrôle Hugging Face BF16

(adapté de https://docs.nvidia.com/nemo-framework/user-guide/latest/llms/deepseek_v3.html)

# cloner les poids DeepSeek V3 depuis HF (Cela peut prendre des heures)
git lfs install
git clone https://huggingface.co/deepseek-ai/DeepSeek-V3 DeepSeek-V3-FP8
# cloner le code DeepSeek-V3
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
# transformers (depuis v4.23.0) (vérifie le format de tenseur dans les métadonnées)[https://github.com/huggingface/transformers/blob/9ae22fe3c1b81f99a764d382054b6ebe2b025bd4/src/transformers/modeling_utils.py#L388]
cd DeepSeek-V3/inference
sed -i '88{s/new_safetensor_file/new_safetensor_file, metadata={"format": "pt"}/}' fp8_cast_bf16.py
# convertir les poids
python fp8_cast_bf16.py --input-fp8-hf-path ../../DeepSeek-V3-FP8 --output-bf16-hf-path ../../DeepSeek-V3-BF16
# copier d'autres fichiers
cd ../..
cp DeepSeek-V3-FP8/{tokenizer_config.json,tokenizer.json,modeling_deepseek.py,configuration_deepseek.py} DeepSeek-V3-BF16/
# copier config.json, supprimer `quantization_config`, et définir num_nextn_predict_layers à 0 (nous ne supportons pas encore mtp) :
jq 'del(.quantization_config) | .num_nextn_predict_layers=0' DeepSeek-V3-FP8/config.json > DeepSeek-V3-BF16/config.json