大模型本地部署难?4090单卡实现DeepSeek-R1满血运行!

15 0

大模型本地部署难?4090单卡实现DeepSeek-R1满血运行!

深度学习模型本地部署难题破解:KTransformers开源项目助力普惠化 普通用户难以运行DeepSeek-R1满血版 目前,用户主要通过云服务或本地部署来使用DeepSeek-R1。官网服务器频繁宕机,个人部署多为参数量缩水90%的蒸馏版。这使得普通用户在普通硬件上运行真正的DeepSeek-R1满血版变得异常困难,而租赁服务器的成本对于开发者来说也是一个不小的压力。 KTransformers开源项目突破大模型本地部署难题 本周,清华大学KVCache.AI团队与趋境科技联合发布的KTransformers(Quick Transformers)开源项目宣布迎来重大更新,成功破解千亿级大模型本地部署难题,标志着大模型推理从“云端垄断”走向“普惠化”的重要一步。 KTransformers团队实现DeepSeek-R1本地运行 如图所示,KTransformers团队于2月10日成功在24GB显存+382GB内存的PC上实现本地运行DeepSeek-R1、V3的671B满血版,速度提高3~28倍。 KTransformers支持更长的上下文并实现加速 今日,KTransformers宣布支持更长的上下文(24GB单卡支持4~8K),并实现15%加速(每秒最多16个Tokens)。 KTransformers框架设计核心是可扩展性 据官方介绍,KTransformers是一个灵活的、以Python为中心的框架,其设计核心是可扩展性。通过用一行代码实现和注入一个优化模块,用户就能访问兼容Transformers的界面、符合OpenAI和Ollama标准的RESTful API,甚至是类似ChatGPT的简化网页用户界面。 KTransformers在单张24GB显存的消费级显卡上运行DeepSeek-R1 该技术首次支持在单张24GB显存的消费级显卡(如RTX 4090D)上运行DeepSeek-R1 / V3的671B参数满血版,预处理速度最高达286 tokens/s,推理生成速度达14 tokens/s,彻底改写了AI大模型依赖昂贵云服务器的历史格局。 KTransformers团队创新性地将非共享稀疏矩阵卸载至CPU内存处理 DeepSeek-R1基于混合专家(MoE)架构,其核心是将任务分配给不同专家模块,每次推理仅激活部分参数。团队创新性地将非共享稀疏矩阵卸载至CPU内存处理,结合高速算子优化,显存需求从传统8卡A100的320GB压缩至单卡24GB。 KTransformers团队通过Marlin GPU算子实现量化矩阵计算 借助于KTransformers,普通用户只需24G显存即可在本地运行DeepSeek-R1、V3的671B满血版。预处理速度最高达到286 tokens/s,推理生成速度最高能达到14 tokens/s。针对MoE架构的特点,KTransformers团队通过Marlin GPU算子实现量化矩阵计算,效率较传统方案提升3.87倍。 KTransformers团队通过减少CPU/GPU通信断点实现单次解码仅需一次完整的CUDA Graph调用 KTransformers团队通过减少CPU/GPU通信断点,实现单次解码仅需一次完整的CUDA Graph调用,生成速度优化至14 tokens/s,功耗仅80W,整机成本约2万元,仅为传统8卡A100方案的2%。 KTransformers兼容各式各样的MoE模型和算子 KTransformers并非一个单纯的推理框架,也不限于DeepSeek模型,它可以兼容各式各样的MoE模型和算子,能够集成各种各样的算子,做各种组合的测试,同时还提供了Windows、Linux的平台的支持,感兴趣的用户可自行尝试。 KTransformers使用条件 要想使用KTransformers也有一点硬性条件,而不是说只要有一张RTX 4090就能无障碍运行。先决条件要保证: - CPU:英特尔至强Gold 6454S 1T DRAM(2个NUMA节点) - GPU:RTX 4090D(24G VRAM) - 内存:标准DDR5-4800服务器DRAM(1 TB) - CUDA 12.1或更高版本 KTransformers安装步骤 对于Linux-x86_64系统,您需要gcc、g++和cmake使用以下命令进行安装: ``` sudo apt-get updatesudo apt-get install gcc g++ cmake ninja-build ``` 这里强烈建议使用Conda创建一个包含Python 3.11的虚拟环境。使用以下命令创建并激活环境: ``` conda create --name ktransformers python=3.11 conda activate ktransformers 您可能需要运行 ‘conda init’ ``` 安装PyTorch、packaging、ninja、cpufeature和numpy: ``` pip install torch packaging ninja cpufeature numpy ``` 安装KTransformers: ``` pip install ktransformers --no-build-isolation ``` KTransformers快速使用 ``` python -m ktransformers.local_chat --model_path --gguf_path --prompt_file --cpu_infer 65 --max_new_tokens 1000 ``` 参数解释: - model_path:模型路径。 - gguf_path: gguf 文件路径。 - prompt_file:包含提示文本的文件路径。 - cpu_infer 65:指定用于推理的CPU核心数。如果使用双路CPU,因此设置为65。 - max_new_tokens 1000:设置生成token的最大数量。