飞桨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显存

相关推荐
小程故事多_8011 小时前
Harness实战指南,在Java Spring Boot项目中规范落地OpenSpec+Claude Code
java·人工智能·spring boot·架构·aigc·ai编程
Anastasiozzzz15 小时前
深入研究RAG: 在线阶段-查询&问答
数据库·人工智能·ai·embedding
tq108615 小时前
资本主义的时间贴现危机:AI时代的结构性淘汰机制
人工智能
砍材农夫15 小时前
spring-ai 第四多模态API
java·人工智能·spring
土豆125018 小时前
LangGraph TypeScript 版入门与实践
人工智能·llm
土豆125019 小时前
OpenSpec:让 AI 编码助手从"乱猜"到"照单执行"
人工智能·llm
Thomas.Sir19 小时前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
m0_6948455719 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
LS_learner19 小时前
VS Code 终端默认配置从 PowerShell 改为 CMD
人工智能
小毅&Nora20 小时前
【人工智能】【大模型】大模型“全家桶”到“精兵简政”:企业AI落地的理性进化之路
人工智能·大模型·平安科技