Closed yaoyonstudio closed 5 months ago
这个代码主要是用在NV GPU上的。苹果M芯片需要将device改为MPS才有可能跑起来(可能还会报其他错误)。 你可以考虑使用苹果的MLX框架训练llama3模型,我们的模型就是标准的llama3模型。
ValueError: BF16 Mixed precision training with AMP (`--bf16`) and BF16 half precision evaluation (`--bf16_full_eval`) can only be used on CUDA, XPU (with IPEX), NPU, MLU or CPU/TPU/NeuronCore devices.
这个报错把问题说得很明白了,我也去查了一下, Apple Silicon 芯片目前(直到M3一代)都是不支持BF16格式的,问题出在MPS也就是GPU,而非神经网络引擎ANE/NPU
或矩阵加速单元AMX
上,原因可能是Apple使用了较老的arm指令集,而老版本中对BF16的支持是可选的而非强制性的。
我猜测可能的解决方案:
M2 Ultra 192G
、M3 Max 128G
我使用MLX框架尝试一下,谢谢。
提交前必须检查以下项目
问题类型
模型训练与精调
基础模型
Llama-3-Chinese-8B-Instruct(指令模型)
操作系统
macOS
详细描述问题
MacOS(苹果M3芯片)下指令精调报错
依赖情况(代码类问题务必提供)
运行日志或截图