如何从零训练一个LLM:尝试基于0.5B小模型复现DeepSeek-R1的思维链

大模型微调---QLora微调实战 LoRA是一种参数高效的微调技术,其原理可以参考Lora原理与实战这里我们着重讲一下QLoraQLora在LoRA:j结合了分位数量化和分块量化的4位标准浮点数量化双重量化:通过量化量化常量来节省内存。分⻚优化器:使用CPU内存代替GPU显存保存部分梯度参数因此我们通过peft框架实现QLora,只要开启上面三个机制就可以在⼤模型训练过程中,量化是⼀种降低模型计算复杂度和存储需求的技术。 阅读详情

图片

\1. 前言

图片

本文主要是以两个目的出发:

  • • 第一个是简单地介绍下LLM训练的一个完整流程,侧重点在于帮助认识这个过程,而不是严谨地对每一个剖析细节,因此基本没有公式推导,但一些必要的符号是避免不了的;
  • • 第二个是尝试使用小模型(0.5B)来复现DeepSeek-R1的思维链模式,仅仅是一个demo级别的实践。

(本人水平有限,如若发现有不对的,欢迎交流探讨)

图片

\2. 如何从零训练一个LLM

图片

最简单的语言来描述一个LLM的工作(推理)机制:

1.将一段输入文本映射为对应的tokens,然后给到transformer模型,预测下一个token的概率分布,选择概率最高的token(当然,也会有采样topK个概率最高的tokens);

2.本次选择的token + 输入文本的tokens + 之前预测输出的tokens,拼接起来,继续给到transformer模型,预测下一个token的概率分布;

3.重复第2步,直到模型输出代表结束的token;

4.最后,将输出的全部tokens映射回对应的自然语言文本。

2.1 预训练阶段

预训练可以类比一下以前BERT时代【预训练-微调】中预训练的方法,会使用互联网爬取的文本数据,比如wiki、百度百科,这一步是为了让模型获得next token prediction的能力,即能够基于已知的上文输出未知的下文,预训练得到模型是具备续写的能力,比如:

输入输出
杭州西湖位于中国浙江省杭州市西湖区龙井路1号,汇水面积为21.22平方千米,湖面面积为6.38平方千米,总面积约60平方千米,为自然与人文景观。

但是呢,一般的提问方式或者说对话方式应该是:

问题回答
杭州西湖位于什么地方中国浙江省杭州市西湖区龙井路1号,汇水面积为21.22平方千米,湖面面积为6.38平方千米,总面积约60平方千米,为自然与人文景观。

为什么会产生这种差异呢?

  • • 由于预训练的语料大部分来自于网页,许多都是段落形式的长篇文本,然后按照一定规则进行切分。
  • • 给模型输入前面一段文本,让模型去学习next token prediction的任务,即预测下一段文本,这就导致模型的输出是偏向于续写的
  • • 这便导致了不符合人类的对话习惯,因此产生后续一系列的post-train(后训练)工作。

2.2 Post-Training(后训练)

后训练的步骤一般会涉及以下三个步骤:

  • • 标注数据,进行监督微调学习(SFT,Supervised Fine-Tuning),这也是常常提到的指令微调
  • • 标注对比数据(comparison data),训练一个奖励模型,可以判断模型输出的质量
  • • 通过奖励模型来进行强化学习,进一步提升模型的能力

Post-Training(后训练)Post-Training(后训练)

2.3 指令微调(SFT)

Supervised Fine-Tuning (SFT)Supervised Fine-Tuning (SFT)

这一步需要收集高质量的数据样本,什么样的数据就会让最终的模型呈现出什么样的行为,正如上一步所说的,预训练模型是输出是不符合人类对话习惯,而这一步就需要收集高质量的对话数据,来让模型学习到这种能力。

对于先驱者OpenAI来说,无疑是需要巨大的人力成本来收集和标注这些数据的。而对于后来者,我们一方面可以人工标注数据,但更多的往往是从市场上选择某一个或几个强大的模型(比如GPT、DeepSeek)去蒸馏数据:

  • • 设计一个prompt,让LLM生成问题的同时,又附带着回答;
  • • 或者自己有着垂直领域的百科知识,就可以设计Prompt去让LLM生成对应的提问,还可以让LLM对知识数据进行润色和丰富;
  • • 这样我们就可以得到这种一问一答的训练样本来进行监督微调了。
    (当然实际情况往往复杂得多)

总的来说,这一步就是收集对应的数据,然后加载上一步的预训练模型作为起点,进行监督微调(SFT),让模型学会相应的能力,实现指令对齐:

比如现在最为普遍的Chat模型,便是收集符合人类对话习惯的问题(prompt)- 答案(output)。
但是,其实这里的prompt和output可以套到其他的实践场景中,比如意图识别等,prompt对应表达意图行为的描述,output对应预测的意图和提取的参数

2.4 奖励模型(Reward Model,RM)

Reward Modeling (RM)Reward Modeling (RM)

这一步的目标是使用上一步的SFT模型作为初始化(最后增加一层分类器),训练一个奖励模型,能够为一条样本进行打分,以此来区分好样本和坏样本。比如下面的例子,chosen明显比rejected的回答更恰当,模型对chosen的打分应该更高。

{
    "prompt": "你是谁",
    "chosen": "您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-V3。如您有任何任何问题,我会尽我所能为您提供帮助。",
    "rejected": "有什么可以帮您的?"
}

RM的训练流程大致如下:

  • • 给定一个prompt,人工对LLM的多个输出进行比较,标注哪个输出是更符合人类偏好的(更合理)
  • • 或者可以参考数据蒸馏的做法来构造数据,让LLM同时输出好的回答和坏的回答
  • • 有了不同质量的回答数据后,需要标注好坏对比顺序,比如上面例子,标记chosen和rejected的输出,只需要知道chosen>rejected即可
  • • 然后去训练一个分类Reward Model,训练目标是拉开好样本和坏样本的分数差距,训练好的Reward Model可以为每一条预测对应的分数(结束token的logit)

下面是Reward Model训练样本的一个通用格式:

(chosen和rejected是对于同一个Prompt的不同回答)

图片

奖励模型一方面对于后续的强化学习起着关键作用,一方面在迭代训练也是至关重要。比如,下图为Llama3的训练迭代流程:

在这里插入图片描述

Llama3后训练流程Llama3后训练流程

2.5 强化学习

强化学习流程强化学习流程

在经过上述的步骤训练出一个SFT模型,最后一般都会在使用强化学习,让模型的能力更上一层楼。今天简单介绍下几种常用的强化学习方法。

在此先引入强化学习中涉及的几种模型的概念:

  • • Policy Model(Actor Model):根据输入文本,预测下一个token的概率分布,输出下一个token也即Policy模型的“动作”。该模型需要训练,是我们最终得到的模型,并由上一步的SFT初始化而来。
  • • Value Model(Critic Model):用于预估当前模型回复的每一个token的收益。接着,还会进一步计算累积收益,累加每一个token的收益时不仅局限于当前token的质量,还需要衡量当前token对后续tokens生成的影响。这个累积收益一般是称为优势,用于衡量当前动作的好坏,也即模型本次回复的好坏,计算的方法一般使用GAE(广义优势估计,generalized advantage estimation))该模型同样需要训练。
  • • Reward Model:正如上述章节[2.4 奖励模型]介绍,对Policy Model的输出整体进行打分,评估模型对于当前输出的即时收益。该模型训练过程不进行更新。
  • • Reference Model:与 Policy Model是一样的模型,但在训练过程中不进行更新。其作用主要是与Policy Model计算KL散度(可以理解为两者的预测token概率分布差距)来作为约束,防止Policy Model在更新过程中出现过大偏差,即每一次参数更新不要与Reference Model相差过于大。
2.5.1 DPO(Direct Preference Optimization)

DPO是一种成本比较低的强化学习方法,它不需要显式的Reward Model,只需要Policy Model和Reference Model:

  • • 训练数据是与上述奖励模型一样的偏好对数据
  • • Policy Model的目标是尽量拉开chosen(preferred)样本与rejected(dispreferred)样本的token概率差距
  • • 但是,同时Policy Model的概率差距与Reference Model的概率差距不要太过于大,避免训练不稳定

具体的DPO loss公式如下:

DPO LossDPO Loss

为什么说是不需要显式的Reward Model,因为Policy Model在DPO中,其实也是充当了Reward Model的角色,概率差可以认为是对应的应得奖励收益。

2.5.2 PPO(Proximal Policy Optimization)

PPO训练流程图PPO训练流程图

PPO(近端策略优化)比较复杂,尽量减少非必要的公式,用简单的描述来说明整个流程(以一个批次的数据训练为例):

在这里插入图片描述

在这里插入图片描述

(这里的token不一定是这么分词的,只是为了举例子说明)

2.5.3 GRPO(Generalized Reinforcement Learning with Policy Optimization)

PPO vs. GRPOPPO vs. GRPO

GRPO是DeepSeek-R1论文中提出的另外一种强化学习方法。从上图可以看出,相比PPO,GRPO去掉了Value Model,简化了训练流程,降低了显存消耗。简单描述下GRPO的流程:

在这里插入图片描述

3.再使用Reward Model对Policy Model的这G次生成进行打分。参考DeepSeek-R1的做法,甚至可以不需要Reward Model,只需要奖励函数,比如代码问题,可以根据模型生成的代码是否能够运行,有标准答案的数学问题,从模型的生成中提取的答案是否正确,来给予一定的奖励分数

4.最后平均的KL散度和奖励分数作为Loss去更新Policy Model

图片
\3. R1微调实践

图片

目前的开源模型基本都是至少经过预训练和SFT这两个步骤的,而且大多知名的开源模型也是完整地包含了强化学习的全链路,因此,我们去微调或者甚至想训练一个新的模型,并不需要从预训练开始,而是选择一个底座模型,然后使用自己的数据集去SFT,来让模型进一步认识私域的知识或者约束模型的输出格式,接着可以选择性地使用强化学习进一步提升模型的能力。

3.1 微调流程

这个实验的目标是将一个0.5B的普通chat模型Qwen2.5-0.5B-Instruct微调成为一个具有像DeepSeek-R1的思维链能力,即模型会先输出自己的思考过程,然后再给出具体的答案,即下面这种格式:

<think>
思考过程...
</think>
<answer>
答案
</answer>

使用的数据集是一个代表性的小学数学题集:

图片

  • • answer里包含了解题思路和答案,因此正好可以将解题思路来作为思维链。

  • 具体的训练流程:

1.首先,使用SFT的方法进行训练,将Qwen2.5-0.5B-Instruct能够按照上述思维链的格式进行输出;

2.接着,再使用GRPO的强化学习对上一步的SFT模型继续训练,保持思维链的同时,进一步来提升模型的回复准确性;

3.其中,因为这个数据集的答案是非常标准唯一的数字答案,因此可以不需要Reward Model,直接根据模型的输出答案是否正确来给予一定的奖励分数

3.2 奖励函数

设计的奖励函数主要是两个目标:

1.检测模型的输出是否按照思维链的格式;
2.模型的输出中答案是否准确

import re


def extract_xml_answer(text: str) -> str:
    answer = text.split("<answer>")[-1]
    answer = answer.split("</answer>")[0]
    return answer.strip()


def correctness_reward_func(prompts, completions, answer, **kwargs) -> list[float]:
    """检查LLM输出的答案是否完全正确"""
    responses = [completion[0]['content'] for completion in completions]
    extracted_responses = [extract_xml_answer(r) for r in responses]

    q = prompts[0][-1]['content']
    print('-' * 20, f"Question:\n{q}", f"\nAnswer:\n{answer[0]}", f"\nResponse:\n{responses[0]}",
          f"\nExtracted:\n{extracted_responses[0]}")

    return [2.0 if r == a else 0.0 for r, a in zip(extracted_responses, answer)]


def int_reward_func(completions, **kwargs) -> list[float]:
    """由于gsm8k数据集答案都是整型。检查LLM输出的答案是否为整型"""
    responses = [completion[0]['content'] for completion in completions]
    extracted_responses = [extract_xml_answer(r) for r in responses]
    return [0.5 if r.isdigit() else 0.0 for r in extracted_responses]


def strict_format_reward_func(completions, **kwargs) -> list[float]:
    """检查LLM输出是否完全按照思维链的格式"""
    pattern = r"^<think>.*?</think>\s*<answer>.*?</answer>\n? $$ "
    responses = [completion[0]["content"] for completion in completions]
    matches = [re.match(pattern, r, re.DOTALL) for r in responses]
    return [0.5 if match else 0.0 for match in matches]


def soft_format_reward_func(completions, **kwargs) -> list[float]:
    """检查LLM输出是否存在符合思维链格式的部分"""
    pattern = r"<think>.*?</think>.*<answer>.*?</answer>"
    responses = [completion[0]["content"] for completion in completions]
    matches = [re.match(pattern, r, re.DOTALL) for r in responses]
    return [0.5 if match else 0.0 for match in matches]


def count_xml(text) -> float:
    count = 0.0
    if text.count("<think>\n") == 1:
        count += 0.125
    if text.count("\n</think>\n") == 1:
        count += 0.125
    if text.count("\n<answer>\n") == 1:
        count += 0.125
        count -= len(text.split("\n</answer>\n")[-1]) * 0.001  # 不以</answer>结尾扣除部分奖励分数
    if text.count("\n</answer>") == 1:
        count += 0.125
        count -= (len(text.split("\n</answer>")[-1]) - 1) * 0.001  # 不以</answer>结尾扣除部分奖励分数
    return count


def xmlcount_reward_func(completions, **kwargs) -> list[float]:
    """思维链不完整也给予一定的奖励分数"""
    contents = [completion[0]["content"] for completion in completions]
    return [count_xml(c) for c in contents]

3.3 SFT+GRPO训练

如上述提到,使用一半的数据集来进行SFT训练

trainer = SFTTrainer(
        model=model,
        processing_class=tokenizer,
        args=training_args,
        train_dataset=get_gsm8k_dataset(sft=True, cache_dir=args.cache_dir,
                                        first_half=args.split_half=="first_half",
                                        second_half=args.split_half=="second_half"),
    )
    trainer.train()

再接着用另外一半进行GRPO训练

trainer = GRPOTrainer(
        model=model,
        processing_class=tokenizer,
        reward_funcs=reward_funcs,
        args=training_args,
        train_dataset=get_gsm8k_dataset(cache_dir=args.cache_dir,
                                        first_half=args.split_half == "first_half",
                                        second_half=args.split_half == "second_half"),
    )
    trainer.train()

3.4 推理

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=args.max_completion_length
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(f"Assistant:\n{response}")

对数据集其中一道题,改下数字,看看下面模型的输出是否符合预期:

Natalia sold clips to 22 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?

Assistant:
<think>
In April, Natalia sold clips to 22 friends.
In May, she sold half as many clips as in April, which is 22/2 = <<22/2=11>>11 clips.
  Altogether, Natalia sold 22+11 = <<22+11=33>>33 clips in April and May.
</think>
<answer>
33
</answer>

可以看到,模型的输出即包含了思维链,然后答案也是准确的。

3.5 总结

1.虽然微调第一步得到的SFT模型已经能够输出思维链,但是其回答问题的准确性还比较差,因为SFT训练的重点其实是整体的回复质量,而不是专注于正确答案;

2.但如果不经过SFT训练,直接使用GRPO的话,一开始模型的输出是没有思维链的,又无法准确提取答案,导致没有任何奖励,变得难以训练,或者选择能力更强的底座模型;

3.因此对于聊天类的数据,可以考虑直接使用SFT去微调,因为整体的回复质量更为重要,而对于数学/代码等要求正确答案/能否运行的数据,可以SFT+强化学习。

图片

\4. 完整代码

图片

https://github.com/QunBB/DeepLearning/tree/main/llms/train/deepseek-train

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

基于0.5B小模型,复现DeepSeek-R1的思考及实践 本文主要是以两个目的出发:• 第一个是简单地介绍下LLM训练的一个完整流程,侧重点在于帮助认识这个过程,而不是严谨地对每一个剖析细节,因此基本没有公式推导,但一些必要的符号是避免不了的;• 第二个是尝试使用小模型(0.5B)来复现DeepSeek-R1的思维链模式,仅仅是一个demo级别的实践。(本人水平有限,如若发现有不对的,欢迎交流探讨)1.虽然微调第一步得到的SFT模型已经能够输出思维链,但是其回答问题的准确性还比较差,因为SFT训练的重点其实是整体的回复质量,而不是专注于正确答案; 阅读详情

相关推荐

deepseek R1 最新复现进展

以下项目地址汇总:**

qq_44761480的博客 2609

尝试基于小模型复现DeepSeek-R1的思维链以及白话文介绍如何从零训练一个LLM

本文主要是以两个目的出发: + 第一个是简单地介绍下LLM训练的一个完整流程,侧重点在于帮助认识这个过程,而不是严谨地对每一个剖析细节,因此基本没有公式推导,但一些必要的符号是避免不了的; + 第二个是尝试使用小模型(0.5B)来复现DeepSeek-R1的思维链模式,仅仅是一个demo级别的实践。

sgyuanshi的博客 1466

DeepSeek-R1:开源可验证推理框架解析

推理链(CoT)是大语言模型实现复杂任务的关键技术,其核心原理在于将问题分解为多步可控的中间过程。然而,当前主流方案如提示工程或LangChain Agent仍依赖LLM隐式生成指令,导致执行不可靠、错误难归因。DeepSeek-R1通过将CoT升维为结构化计算图调度器,提供节点化、Schema驱动、带状态记忆与闭环验证的推理执行模型,显著提升数学证明、代码生成等逻辑密集型任务的可靠性与可解释性。它不替代基础模型,而是作为轻量‘推理操作系统’嵌入现有系统,支持7B级模型在2GB显存下运行。本文详解其设计哲学

weixin_30781433的博客 459

一文读懂大模型显存需求:从0.5B到70B,你的显卡够用吗?

最小推荐内存基于相应精度计算,包含工作内存和系统预留 **最小推荐内存(FP32)基于全量参数计算,包含工作内存和系统预留。

2401_85373691的博客 6万+

DeepSeek-R1技术报告解读:强化学习驱动推理模型训练与蒸馏复现

强化学习通过可验证奖励机制优化模型策略,使大语言模型在数学、代码等任务中自主生成复杂推理链。其核心原理是利用规则奖励和组相对策略优化,避免监督微调的高成本与天花板。技术价值在于提升模型推理能力与泛化性,应用场景涵盖智能编程、数学解题等。DeepSeek-R1技术报告详细拆解了从基座模型到R1-Zero的纯RL训练、冷启动数据构造及蒸馏小模型的全流程,为工程复现提供了关键参数与避坑指南。

weixin_29057237的博客 331

Cadence Spectre仿真保姆级教程:从DC/AC到PSS/PV,手把手教你搞定模拟电路分析

作为业界标准的Cadence Spectre仿真器,以其精确的算法和丰富的分析类型,成为每个模拟IC工程师必须掌握的利器。本文将带你从零开始,系统掌握Spectre仿真的核心技能,从最基础的DC工作点分析到复杂的PSS相位噪声仿真,每个步骤都配有详细的操作指导和实用技巧。记得我第一次使用Spectre仿真一个简单的两级运放时,花了整整三天时间才得到正确的AC响应曲线。过程中踩过的坑、浪费的时间,现在想来都是宝贵的学习资源。与传统的AC分析不同,STB分析可以在不破坏环路的情况下评估稳定性。

weixin_30898555的博客 335

别只会用别人的模型了,自学Ai大模型,顺序千万不要搞反了!刚入门的小白必备!

别只会用别人的模型了,自学Ai大模型,顺序千万不要搞反了!刚入门的小白必备!

2301_81888214的博客 1309

(入门向)在Ubuntu22.04.3安装Matlab2021b,以及无法安装在当前目录下的解决办法(见最后)

还有这个/usr/local是只读状态,我试过sudo chmod..去改那个文件的读,结果还是安装不了,我不是这个默认路径,因为它文件夹还是只读,于是我在matlab2021b下创了一个bin,并选上。输入完成后,依次按y,因为里面有三个文件,他会让你确定3次密码,直接yyy跳过即可。你可能会遇到装不下的情况,这个软件占30g,可是你分配给虚拟机就剩10g。,于是我去Downloads下建了一个matlab2021b文件夹,果然好使,3).此时,会提示你输入密码,因为这个rar是有密码的,

harrype的博客 7286

0.5B小模型逆袭!不到50元,「X-R1」让每个人都能复现Aha Moment

X-R1开源仓库:https://github.com/dhcode-cpp/X-R11. 介绍X-R1目标是建设一个易入门和低成本的基于强化学习的训练框架。以加快Scaling Post-Training的发展进程。受到DeepSeek-R1和open-r1的启发,为了降低 R1 的复现门槛,我们用最低的成本<50元 在 0.5B 的预训练模型上复现了 R1-Zero 的“Aha ...

Paper weekly 429

metaRTC嵌入式webrtc编译指南

metaRTC编译支持qmake和cmake,qmake使用QT最为方便,新版本新增了cmake支持。 ...

metaRTC的博客 9518

【Pytorch】DCGAN实战(三):二次元动漫头像生成

文章目录1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE3.具体实现3.1数据预处理(data.py)(1)导入包(2)定义数据类3.2模型Generator,Discriminator,权重初始化(model.py)(1)导入包(2)Generator(3)Discriminator(4)权重初始化3.3网络训练(net.py)(1)导入包(2)创建类3.4 主函数(main.py)(1)导入文件(2)定义超参数(3)实例化(4)进行训练4.训练过程4.1

qq_44031210的博客 4918

如何从零训练一个LLM:基于0.5B小模型复现DeepSeek-R1的思维链

如何从零训练一个LLM:基于0.5B小模型复现DeepSeek-R1的思维链

【可全包】本人程序员,不需要做任何吹嘘,只是实在写点程序,写点文档,熟悉各类主流框架,SSM,SpringBoot,Flask,Djiango,Mysql,Sqlite,VUE,Uniapp等,各类程序设计专家,优质作者 1248

SAP LSMW数据批导操作手册及跨客户端传输方法(涉及默认值配置,及多余字段如何删除)

SAP LSMW数据批导操作手册及跨客户端传输方法

我好像病了的博客 6087

尝试基于0.5B小模型复现DeepSeek-R1的思维链

本文主要是以两个目的出发: • 第一个是简单地介绍下LLM训练的一个完整流程,侧重点在于帮助认识这个过程,而不是严谨地对每一个剖析细节,因此基本没有公式推导,但一些必要的符号是避免不了的; • 第二个是尝试使用小模型(0.5B)来复现DeepSeek-R1的思维链模式,仅仅是一个demo级别的实践。

2401_84208172的博客 1821

解读Autoware.Universe规划模块:Behavior Path Planner

Behavior Path Planner是一个基于行为生成不同形态路径的路径规划器,负责生成 基于交通状况的路径(path), 车辆可以移动的可行驶区域(drivable area)(在路径消息中定义), 将被发送到车辆接口的转向信号(turn signal) 命令。

策 5491

利用Dify平台打造大学生专属AI模拟面试助手:从零到精通的完整指南

在这个充满竞争的就业市场中,拥有一个24小时在线的AI面试教练无疑是大学生求职路上的秘密武器。通过本文的指导,你已经掌握了使用Dify平台构建专业级模拟面试助手的全套技能。从环境部署、模型选择,到Prompt设计、知识库集成,再到高级功能开发和效果优化,我们一步步打造了一个能够适应不同岗位、提供专业反馈的智能面试系统。无论是技术岗的算法问答,还是咨询业的案例分析,或是外企的英语面试,你的定制助手都能提供针对性训练。更重要的是,这个方案具有极强的可扩展性。

专注于编程、AI、人工智能等多个领域内容研究和分析 2790

LLMs之DeepSeek-V3:DeepSeek-R1的简介、安装和使用方法、案例应用之详细攻略

​ LLMs之DeepSeek-V3:DeepSeek-R1的简介、安装和使用方法、案例应用之详细攻略 目录 相关文章 DeepSeek-R1的简介 DeepSeek-R1的安装和使用方法 DeepSeek-R1的案例应用 相关文章 LLMs之MoE之DeepSeek:《DeepSeek-V3 Technical Report》翻译与解读 LLMs之MoE之DeepSeek:《De

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 2万+

YOLOv8【第十三章:模型压缩与极致优化篇·第4节】LAMP 剪枝算法——无需超参的自动化剪枝策略!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 5642

TinyZero 实战指南:基于 veRL(HybridFlow)复现 DeepSeek R1-Zero 的强化学习训练全流程

TinyZero 是一个基于 veRL(Volcano Engine Reinforcement Learning for LLM,即 HybridFlow 论文的开源实现)构建的 DeepSeek R1-Zero 最小化复现项目,核心场景是 countdown 与 multiplication 两类数学任务。本文以仓库中的 OLD_README.md(veRL 框架原始 README)为主线,结

gitblog_09505的博客 371

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

DeepSeek-R1金融风控:交易异常逻辑识别

本文介绍了基于星图GPU平台自动化部署🧠 DeepSeek-R1 (1.5B) - 本地逻辑推理引擎镜像的实践,聚焦其在金融风控中的应用。通过该镜像可构建交易异常逻辑识别系统,利用模型的思维链推理能力,对用户行为进行深度语义分析与逻辑一致性判断,实现高精度、低延迟的本地化AI风控决策,适用于银行、支付等对数据安全与响应速度要求严苛的场景。

weixin_28850145的博客 165

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

DeepSeek-R1训练范式:从语言建模到推理优先的范式跃迁

大语言模型正经历从‘语言建模’向‘推理建模’的根本性演进——传统基于下一个词预测的训练目标,已难以支撑复杂逻辑、归因诊断与跨域迁移等高阶智能需求。其核心原理在于重构损失函数,将结构化监督、思维链蒸馏与奖励回溯等多源认知信号纳入联合优化,使模型原生具备可验证、可调试、可对齐的推理能力。这一技术路径显著提升模型在数学证明、代码纠错、反事实推断等场景的鲁棒性与泛化性,尤其适用于需强逻辑保障的金融、医疗、工业知识系统。DeepSeek-R1正是该范式的标志性实践,其训练逻辑不依赖数据堆叠,而重在认知脚手架的设计与多

weixin_34318272的博客 306

一文详解DeepSeek-R1如何克服硬件限制以提供AI突破

DeepSeek是一家位于中国的AI研究实验室,凭借其创新且易于获取的人工智能方法迅速获得了认可。通过专注于开源开发,DeepSeek已成为AI社区中的关键角色,推出了高性能的模型,供更广泛的用户使用。其最新成果DeepSeek-R1是一款“推理模型”,旨在超越基本的模式识别,擅长逻辑推理、问题解决和理解复杂关系。与传统的LLM(大语言模型)不同,DeepSeek-R1通过模拟逐步的思维过程来解决问题。它将复杂问题分解为更小的逻辑步骤,然后得出解决方案。

weixin_50197960的博客 1204

【LLM】从TinyZero到OpenR1:探索小模型RL训练中的格式约束与奖励设计

本文探讨了小模型强化学习(RL)训练中的格式约束与奖励设计,重点分析了TinyZero和OpenR1等项目的实践经验。通过严格的格式约束(如标签化输出)和精细的复合奖励策略,小模型在数学推理等任务中展现出显著性能提升。文章还提供了超参数设置、课程学习策略等实战经验,为小模型RL训练提供了实用指导。

read5的博客 306
上一篇: 从裁员到年薪百万:程序员靠RAG技术逆袭的“核心密码”
下一篇: 为什么 RAG 一定需要 Rerank?
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值