飞桨PaddleNLP套件中使用DeepSeek r1大模型

安装飞桨PaddleNLP

首先安装最新的PaddleNLP3.0版本:

复制代码
pip install paddlenlp==3.0.0b3

依赖库比较多,可能需要较长时间安装。

安装好后,看看版本:

复制代码
import paddlenlp
paddlenlp.__version__

输出:

复制代码
'3.0.0b3.post20250129'

证明版本正确。

运行大模型

复制代码
import paddle
from llm.predict.predictor import PredictorArgument, ModelArgument, create_predictor
from paddlenlp.utils import is_paddlenlp_ops_available

predictor_args = PredictorArgument(
    model_name_or_path="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B",
    src_length=1024,
    min_length=32,
    max_length=512,
    top_k=0,
    top_p=0.7,
    temperature=0.95,
    repetition_penalty=1.0,
    dtype="float16",
    inference_model= True if is_paddlenlp_ops_available() else False,
)

paddle.set_default_dtype(predictor_args.dtype)
predictor = create_predictor(predictor_args, ModelArgument())

input_text = "请介绍一下deepseek r1大模型的特点"

print(predictor.predict(input_text))

输出:

复制代码
['<think>\n好的,我现在要介绍一下DeepSeek-R1的大模型特点。首先,我需要了解DeepSeek-R1是什么,它属于哪个领域,比如聊天机器人还是文本处理。然后,我要查找它在技术上的优势,比如模型架构、计算能力、推理速度等。此外,可能还要提到它的用户群体和应用场景,比如医疗、教育、商业等领域的具体案例。最后,总结一下它的优势,让用户全面了解它。\n\n首先,DeepSeek-R1应该是一个专业的AI聊天机器人,可能用于医疗、教育、商业等领域。它的主要特点可能包括高精度、实时响应、长对话能力以及高效计算能力。模型架构可能有先进的语言模型,支持多种对话风格。推理速度也很重要,可能有支持多任务处理,适用于多种场景。此外,它可能有强大的数据支持,可以学习和理解用户需求。最后,它可能在多个领域都有广泛应用,比如医疗AI、教育科技等。\n\n在技术方面,DeepSeek-R1可能采用了先进的模型架构,比如Transformer,用于处理长文本。它可能具备强大的计算能力,支持并行处理和异构计算,处理大规模数据集。推理速度可能非常快,可能支持实时或高频率的推理。此外,它可能集成多种智能工具,提升用户体验,如AI生成、实时分析等。\n\n在应用场景方面,DeepSeek-R1可能在医疗领域提供精准的诊断建议,教育领域帮助学生学习,商业领域优化决策。同时,它可能支持多语言处理,适应不同用户群体的需求。另外,深度学习模型可能在处理复杂和多样化数据时表现优异,适合实时数据分析和预测。\n\n总结一下,DeepSeek-R1的特点包括专业性、高效、实时响应、长对话、强大的计算能力、多种应用场景和强大的数据支持。这些特点使其在多个领域都有广泛应用,提升用户体验和效率。\n</think>\n\nDeepSeek-R1 是一个专注于大语言模型(LLM)的智能机器人,主要用于多个领域如医疗、教育、商业等。它具备以下主要特点:\n\n1. **专业性和实时性**:\n   - 专注于专业领域,如医疗和教育,提供精准的诊断和建议,实时响应用户需求。\n\n2. **高效的大语言模型**:\n   - 基于先进的Transformer架构,处理复杂和多样化数据,提供高质量的文本生成和分析。\n\n3. **强大的计算能力和推理速度**:\n   - 具备并行计算能力,支持高效的推理']

格式化一下:

复制代码
<think>
好的,我现在要介绍一下DeepSeek-R1的大模型特点。首先,我需要了解DeepSeek-R1是什么,它属于哪个领域,比如聊天机器人还是文本处理。然后,我要查找它在技术上的优势,比如模型架构、计算能力、推理速度等。此外,可能还要提到它的用户群体和应用场景,比如医疗、教育、商业等领域的具体案例。最后,总结一下它的优势,让用户全面了解它。

首先,DeepSeek-R1应该是一个专业的AI聊天机器人,可能用于医疗、教育、商业等领域。它的主要特点可能包括高精度、实时响应、长对话能力以及高效计算能力。模型架构可能有先进的语言模型,支持多种对话风格。推理速度也很重要,可能有支持多任务处理,适用于多种场景。此外,它可能有强大的数据支持,可以学习和理解用户需求。最后,它可能在多个领域都有广泛应用,比如医疗AI、教育科技等。

在技术方面,DeepSeek-R1可能采用了先进的模型架构,比如Transformer,用于处理长文本。它可能具备强大的计算能力,支持并行处理和异构计算,处理大规模数据集。推理速度可能非常快,可能支持实时或高频率的推理。此外,它可能集成多种智能工具,提升用户体验,如AI生成、实时分析等。

在应用场景方面,DeepSeek-R1可能在医疗领域提供精准的诊断建议,教育领域帮助学生学习,商业领域优化决策。同时,它可能支持多语言处理,适应不同用户群体的需求。另外,深度学习模型可能在处理复杂和多样化数据时表现优异,适合实时数据分析和预测。

总结一下,DeepSeek-R1的特点包括专业性、高效、实时响应、长对话、强大的计算能力、多种应用场景和强大的数据支持。这些特点使其在多个领域都有广泛应用,提升用户体验和效率。
</think>

DeepSeek-R1 是一个专注于大语言模型(LLM)的智能机器人,主要用于多个领域如医疗、教育、商业等。它具备以下主要特点:

1. **专业性和实时性**:
   - 专注于专业领域,如医疗和教育,提供精准的诊断和建议,实时响应用户需求。

2. **高效的大语言模型**:
   - 基于先进的Transformer架构,处理复杂和多样化数据,提供高质量的文本生成和分析。

3. **强大的计算能力和推理速度**:
   - 具备并行计算能力,支持高效的推理

看着效果不错

这是1.5b模型,再切换到7b模型看看:

复制代码
import paddle
from llm.predict.predictor import PredictorArgument, ModelArgument, create_predictor
from paddlenlp.utils import is_paddlenlp_ops_available

predictor_args = PredictorArgument(
    model_name_or_path="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
    src_length=1024,
    min_length=32,
    max_length=512,
    top_k=0,
    top_p=0.7,
    temperature=0.95,
    repetition_penalty=1.0,
    dtype="float16",
    inference_model= True if is_paddlenlp_ops_available() else False,
)

paddle.set_default_dtype(predictor_args.dtype)
predictor = create_predictor(predictor_args, ModelArgument())

input_text = "请介绍一下deepseek r1大模型的特点"

print(predictor.predict(input_text))

不行,7B模型16G显卡不够用,换用32G显存的显卡才行。

7B模型回答这个问题用时41.01秒

不过我感觉好像这个模型GPU和cpu之间的速度差别没有那么显著。

调试

7b模型报错

复制代码
Error Message Summary:
----------------------
ResourceExhaustedError: 

Out of memory error on GPU 0. Cannot allocate 64.000000MB memory on GPU 0, 15.957031GB memory has been allocated and available memory is only 44.000000MB.

Please check whether there is any other process using GPU 0.
1. If yes, please stop them, or start PaddlePaddle on another GPU.
2. If no, please decrease the batch size of your model. 
 (at ../paddle/phi/core/memory/allocation/cuda_allocator.cc:84)

也就是7b模型float32 需要大约16G显存才行。

后来用32G实验,发现需要24G显存

相关推荐
Asize4 分钟前
AI 协作开发新范式:我用 SDD 做了个排版 npm 包
前端·人工智能
IT_陈寒2 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
ovO3 小时前
DeepSeek Harness 源码解读(五):工具明明并发执行,结果为什么还按顺序写入
开源·agent·deepseek
甲维斯3 小时前
Claude Opus5手搓“NewAPI Plus”首轮成果!
人工智能
程序猿DD3 小时前
分享两个我每天都在用的 Skill,拖进豆包就能跑,限时领 30 天会员
人工智能
阿里云大数据AI技术3 小时前
Agentic Search 2.0:从单轮对话迈向企业级 AI 搜索自动驾驶Agent
人工智能·elasticsearch·agent
东风破_3 小时前
从 messages 数组到 Memory:大模型到底是怎么“记住”上一轮对话的?
人工智能
AEI3 小时前
四年间大模型的演进历程
人工智能·面试·程序员
狂师4 小时前
阿里开源:skill-up,一款Agent Skill 评测工具!
人工智能·开源·agent
武子康4 小时前
同一套 Agent Runtime,为什么 Web、Headless 和 Python SDK 仍然不是同一个产品
人工智能·llm·agent