高速下载 HuggingFace大模型(支持断点续传、多线程)
特性
- ⏯️ 从断点恢复:可随时重新运行或按 Ctrl+C ,再次执行脚本时下载恢复到断点状态。
- 🚀 多线程下载:利用多线程加快下载进程。
- 📦 轻量化:仅依赖
git
,aria2c/wget
。
基本命令:
1 | ./hf-downloader.sh *HF_Repo_ID* --tool aria2c -x 16 |
高速下载 HuggingFace大模型(支持断点续传、多线程)
git
, aria2c/wget
。1 | ./hf-downloader.sh *HF_Repo_ID* --tool aria2c -x 16 |
✨ Tips:文中“显存”指GPU可使用的内存空间,如有SoC使用
Unified Memory
(如Apple M1~M3系列、Nvidia AGX Orin等)则可简单理解为系统内存。
对于一个70亿参数(7B)的模型,以 qwen2-7B 为例,预计需要的显存需求如下:
虽然其他因素也在占用显存,但推理期间使用显存的主要是参数量。
比如,qwen2-7B-BF16 模型需要的显存等于参数数量乘以类型大小:70亿参数 x 2字节 = 140亿字节。因此,140亿字节 = 14 x 1,000 x 1,000 x 1,000 / 1024 / 1024 / 1024 ≈ 13 GB(考虑1000/1024)³ ≈ 0.93。
注1:(1000/1024)³ ≈ 0.93,为了估算目的,简单地将此比率视为1。
注2:对于7B-BF16模型,显存需求大约是7 x 2 = 14 GB。上述估算略高于精确计算,但更实用,因为推理需要超出参数之外的额外内存。
假设要估算llama2-13B
模型的显存需求,对应各种类型的分别是:float:13 x 4 = 52 GB,half/BF16:13 x 2 = 26 GB,int8:13 GB,int4:13 x 0.5 = 6.5 GB
使用NVCC编译时,Gencodes(’-gencode
‘)后带arch和code参数。arch标志(’arch
‘)指定了CUDA文件将被编译的英伟达(NVIDIA®)GPU架构名称,code标志(’code
‘)指定了GPU算力。例如 (’-gencode arch=compute_75,code=sm_75
‘)
以下是 NVIDIA GPU 架构名称及其算力对照表:
Fermi † | Kepler † | Maxwell ‡ | Pascal | Volta | Turing | Ampere | Ada | Hopper | Blackwell |
---|---|---|---|---|---|---|---|---|---|
sm_20 | sm_30 | sm_50 | sm_60 | sm_70 | sm_75 | sm_80 | sm_89 | sm_90 | sm_95 |
sm_35 | sm_52 | sm_61 | sm_72 (Xavier) | sm_86 | sm_90a (Thor) | ||||
sm_37 | sm_53 | sm_62 | sm_87 (Orin) |
† 从 CUDA 9 和 11 开始,Fermi 和 Kepler 已被弃用
‡ 自 CUDA 11.6 起,Maxwell 已被弃用
Autoware 最早是由名古屋大学研究小组在加藤伸平教授(Prof. Shinpei Kato)的领导下于2015年8月正式发布。2015年12月下旬,加藤伸平教授创立了Tier IV,以维护Autoware并将其应用于真正的自动驾驶汽车。随着时间的流逝,Autoware已成为公认的开源项目。Autoware 也是世界上第一个用于自动驾驶技术的“多合一”开源软件。Autoware.ai版本基于ROS 1,并在Apache 2.0许可下可用。Autoware的功能主要适合与城市,但也可以覆盖高速公路。支持以下功能:路径规划、路径跟随、加速/制动/转向控制、数据记录、汽车/行人/物体检测、3D本地化、3D映射、交通信号检测、交通灯识别、车道检测、对象跟踪、传感器校准、传感器融合、面向云的地图连接自动化、智能手机导航、软件仿真、虚拟现实等。
Autoware 作为第一款开源的自动驾驶框架,当前各大自动驾驶公司的框架几乎都借鉴过,Autoware框架是理解自动驾驶系统知识最好的学习模板之一。其包含了自动驾驶所有关键技术模块:建图、定位、感知、规划和运动控制。