检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
per_device_train_batch_size=32, gradient_accumulation_steps=1, per_device_eval_batch_size=int(user_args['per_device_eval_batch_size'])
附录:指令微调训练常见问题 问题1:在训练过程中遇到NPU out of memory 解决方法: 将yaml文件中的per_device_train_batch_size调小,重新训练如未解决则执行下一步。 替换深度学习训练加速的工具或增加zero等级,可参考各个模型深度学习训
--modelFile=model.mindir --inputShapes=1,3,224,224 --inDataFile=input_data.bin --device=Ascend --benchmarkDataFile=output_data.txt --accuracyThreshold=5 -
mem = nvidia_smi.nvmlDeviceGetMemoryInfo(handle) print(f"|Device {i}| Mem Free: {mem.free/1024**2:5.2f}MB / {mem.total/1024**2:5.2f}MB
除历史的checkpoint文件,会导致/cache目录逐步被用完。 实际存储空间足够,却依旧报错“No Space left on device”。可能是inode不足,或者是触发操作系统的文件索引缓存问题,导致操作系统无法创建文件,造成用户磁盘占满。 触发条件和下面的因素有关:
Configurations”,填入如下代码。 # 根据README说明文档,配置的Parameter入参如下,其中device_target="CPU"表示CPU环境运行,device_target="Ascend"表示在Ascend环境运行 "configurations": [
U卡信息。 nvidia-smi -pm 1 #该命令执行时间较长,请耐心等待,作用为启用持久模式,可以优化Linux实例上GPU设备的性能 nvidia-smi 安装CUDA。 wget https://developer.download.nvidia.com/compute/cuda/11
-1)) return tensor def test_torch_flash_attention(self, device="npu"): query = torch.randn(1, 32, 128, 128, dtype=torch.float16)
float16改成torch.bfloat16 kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"} 问题13:使用SmoothQuant做权重转换时报错 图8 权重转换报错 涉及模型:qwen2-1.5b
None, log_dir=log_dir, batch_size=batch_size_per_device, auto_batch=False, max_number_of_steps=max_number_of_steps
float16改成torch.bfloat16 kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"} 问题13:使用SmoothQuant做权重转换时报错 图8 权重转换报错 涉及模型:qwen2-1.5b
or args.multiprocessing_distributed ngpus_per_node = torch.cuda.device_count() if args.multiprocessing_distributed: # Since we
639978408813477 ms,替换之后耗时为 0.1747608184814453 ms,如下图,替换前,总体耗时在9.902ms,Host下发到device侧执行5个算子,其中aclnnIndexPutImpl_IndexPut_IndexPut是执行在AICPU上。 图7 替换前耗时 替换后,总体耗时226
float16改成torch.bfloat16 kwargs = {"torch_dtype": torch.bfloat16, "device_map": "auto"} 问题13:使用SmoothQuant做权重转换时报错 图8 权重转换报错 涉及模型:qwen2-1.5b
randn(5, 3) print(x) available_dev = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") y = torch.randn(5, 3).to(available_dev)
randn(5, 3) print(x) available_dev = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") y = torch.randn(5, 3).to(available_dev)
描述 key 否 String 资源约束,可选键值如: flavor_type(资源类型),对应值可选择CPU、GPU或Ascend; device_distributed_mode(是否支持多卡训练),对应值可选择multiple(支持)、singular(不支持); host_
描述 key 否 String 资源约束,可选键值如: flavor_type(资源类型),对应值可选择CPU、GPU或Ascend; device_distributed_mode(是否支持多卡训练),对应值可选择multiple(支持)、singular(不支持); host_
String 资源约束,可选值如下: 资源类型(flavor_type),对应值可选择CPU、GPU或Ascend; 是否支持多卡训练(device_distributed_mode),对应值可选择支持(multiple)、不支持(singular); 是否支持分布式训练(host
String 资源约束,可选值如下: 资源类型(flavor_type),对应值可选择CPU、GPU或Ascend; 是否支持多卡训练(device_distributed_mode),对应值可选择支持(multiple)、不支持(singular); 是否支持分布式训练(host