【保姆级教程】LLMs微调入门到精通:使用LLaMA Factory实现SFT的完整工作流程,值得收藏!

【保姆级教程】LLMs微调入门到精通:使用LLaMA Factory实现SFT的完整工作流程,值得收藏!

简介

本文详细介绍了LLMs微调技术,特别是使用LLaMA Factory进行指令监督微调(SFT)的完整工作流程。从数据准备、模型训练(包括全量微调和PEFT/LoRA方法)到模型评估与部署,帮助读者将基础LLM转化为解决特定业务问题的定制化智能体。


随着 GPT、LLaMA、QWen 等一众基础模型(Base Models)的出现,LLMs 的通用语言理解和生成能力已得到广泛验证。然而,在面对垂直行业、专业领域或特定业务流程对高精度、定制化的需求时,基础模型的通用性往往存在局限。

微调 (Fine-Tuning) 正是解决这类问题的核心技术。它基于已经具备通用知识和特征的预训练模型,在相对较小的专业数据集上进行再训练,实现知识迁移和能力聚焦,从而显著提升模型在特定任务上的表现。

本文将重点聚焦于最成熟的微调技术之一——指令监督微调(SFT)。以 LLaMA Factory 为载体,系统性地演示和解析一套完整的微调工作流程。内容涵盖从构建和格式化高质量训练数据,到实施不同训练策略(如 Full FT 和 PEFT),直至最终通过 API 接口将模型部署上线的全部环节,旨在帮助大家高效地将基础 LLM 转化为解决特定业务问题的专业化智能体。

Fine-Tuning

微调(Fine-tuning)是利用预训练好的模型(如 GPT、QWen、LLama 等模型)作为基础模型(Base Model)在一个更小、更专业领域的数据集上进行进一步的训练的过程。它能将预训练模型所学到的模式和特征迁移到新的任务上,从而只需较少的数据和计算资源就能提升模型在特定任务上的表现能力。它已成为 NLP 领域的热门方法,常用于文本分类、情感分析和问答等任务。

通常 Fine-Tuning 可以分为以下三种:

  • Unsupervised Fine-Tuning:不需要标注数据,通过让 LLMs 接触来自目标领域的大量未标注文本语料库,从而提升其语言理解能力。这种方法适用于法律或医学等新兴领域,不过对于分类或摘要等特定任务的精确度较低。
  • Supervised Fine-Tuning(SFT):为 LLMs 提供针对目标任务定制的标注数据。如在特定业务中使用已标注的分类文本来微调 LLMs,使 LLMs 具备对该业务文本的分类能力。这种方法能有效提升 LLMs 在特定业务中的能力,但它需要大量的标注数据(数据成本高)。
  • Instruction Fine-Tuning via Prompt Engineering:无需对模型进行训练,通过设计 Prompt 来让 LLMs 具备特定的推理能力。这种方法非常依赖于 Prompt 的设计,对于创建专业助手非常有用;但在面对复杂的推理任务上,则效果一般。

本文主要是关注于 SFT,详细介绍如何一步步使用我们自己的数据来微调出能够解决特定问题的 LLMs。

LLaMA Factory

在介绍具体步骤之前,我们先看下本文使用微调工具:LLaMA_Factory。具体可以参考官方文档:

LLaMA Factory: https://llamafactory.readthedocs.io/zh-cn/latest/

LLaMA Factory 是一个简单易用且高效的 LLMs 训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调,框架特性包括:

  • 模型种类:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
  • 训练算法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
  • 运算精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
  • 优化算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 PiSSA。
  • 加速算子:FlashAttention-2 和 Unsloth。
  • 推理引擎:Transformers 和 vLLM。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。

在安装相关依赖之后,就可以通过下面的命令直接安装了:

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factorypip install -e ".[torch,metrics]"# 校验是否安装成功llamafactory-cli version 

SFT Pipeline for LLMs

微调 LLM 的基本流程图下图所示:

主要包括:

  • Data Preparation:构建高质量训练数据集。依次实现对目标领域数据的收集清洗(去重/去噪/修正格式)、转换为模型可理解的<Instruct,Response>结构并加特殊 Token、将数据分为训练集/验证集/测试集;
  • Training & Fine-Tuning:采用 Full FT 或者 PEFT(如LoRA) 等微调技术对模型进行微调;
  • Evaluation & Deployment:通过设计好的评估指标,对模型在测试集上进行评估。最后将上将模型部署上线,提供应用。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓


Data Preparation

核心目标:收集、清理并格式化数据,使我们的数据符合模型训练的要求。

采用 LLaMA Factory 训练模型,需将数据格式化,具体可以参考文档:

https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/data_preparation.html

本文采用 ShareGPT 格式来组织结构化数据。ShareGPT 格式支持 更多 的角色种类,如 human、gpt、observation、function 等等。下面 OpenAI 格式(ShareGPT 的一种特殊格式):

[ { "messages": [ { "role": "system", "content": "系统提示词(选填)" }, { "role": "user", "content": "人类指令" }, { "role": "assistant", "content": "模型回答" } ] }] 

这个数据集的效果是模型根据人类指令输出模型回答。然后将 JSON 格式的数据转换成适合用于训练 LLM 的 Hugging Face 数据集格式

import codecsimport osimport jsonfrom datasets import Dataset # 需安装 dataset 包json_file = 'PATH_TO_JSON_FORMAT_FILE.json'save_path = 'SAVE_PATH'with codecs.open(json_file, 'r', 'utf-8') as fp: data_json = json.load(fp)all_systems = data_json['system']all_conversations = data_json['conversations']my_dataset = Dataset.from_dict({"system": all_systems, "conversations": all_conversations})print(f'Saving to path: [{save_path}]')my_dataset.save_to_disk(save_path, max_shard_size="2048MB") 

处理完数据后,需要在 LLaMA Factory 的 data/dataset_info.json中配置我们的数据(名称为My_New_Data_Set_1):

"My_New_Data_Set_1": { "file_name": "PATH_TO_DATA_FILE", "formatting": "sharegpt", "columns": { "messages": "messages" }, "tags": { "role_tag": "role", "content_tag": "content", "user_tag": "user", "assistant_tag": "assistant", "system_tag": "system" }} 

注意,数据准备阶段应当尽可能保证数据干净,可以采用人工或大模型(如 DeepSeek-R1)对数据进行清洗,确保数据有效。

Model Training

在模型训练之前,我们需要下载要用的 Base Model,可以在 Hugging Face 官网直接下载,如 QWen 模型可以在下面的链接中下载:

https://huggingface.co/Qwen/models

这里更建议通过下面的 python 代码直接下载:

from huggingface_hub import snapshot_downloadmodel_name = "Qwen/Qwen2.5-1.5B-Instruct"print(f"正在下载模型 {model_name} 到 {model_name} ...")snapshot_download( repo_id=model_name, local_dir=model_name) 

下载完成之后,我们就有了与训练好的 Base Model:

total 3026368-rw-r--r-- 1 root root 660 Nov 12 14:21 config.json-rw-r--r-- 1 root root 242 Nov 12 14:21 generation_config.json-rw-r--r-- 1 root root 11343 Nov 12 14:21 LICENSE-rw-r--r-- 1 root root 1671839 Nov 12 14:21 merges.txt-rw-r--r-- 1 root root 3087467144 Nov 12 14:21 model.safetensors-rw-r--r-- 1 root root 4917 Nov 12 14:21 README.md-rw-r--r-- 1 root root 7305 Nov 12 14:21 tokenizer_config.json-rw-r--r-- 1 root root 7031645 Nov 12 14:21 tokenizer.json-rw-r--r-- 1 root root 2776833 Nov 12 14:21 vocab.json 

下面就可以通过配置来使用我们的数据对 Base Model 进行微调了,主要有如下两种微调技术:

Full Fine-Tuning(全量微调)

在微调阶段会更新预训练模型的所有参数。加载预训练的 LLM(如 Llama、Qwen)后,所有层的权重都会被设置为可训练(Trainable),并会根据训练数据进行梯度更新。

优点

  • 性能上限高:模型的所有参数都会在新数据上会调整,理论上它可以达到最佳的任务性能
  • 灵活性强:可以修改模型所有的内部表示,能更好地适应与预训练数据分布差异较大的新任务。

缺点

  • 计算资源需大:需要巨大的 GPU 显存来存储整个模型的权重、激活值和优化器状态(例如,一个 7B 模型可能需要 40GB+ 显存);
  • 训练速度慢:需要计算和更新大量的参数梯度;
  • 存储成本高:每次微调都需要保存一个完整模型副本;
  • 灾难性遗忘:对所有权重进行了更新,可能会导致模型遗忘在预训练阶段学到的通用知识和能力。

在 LLaMA Factory 中可以通过以下配置来实现全量微调(qwen2.5_1.5b_full_sft.yaml):

### modelmodel_name_or_path:/data/BaseModels/Qwen/Qwen2.5-1.5B-Instructtrust_remote_code:true### methodstage:sftdo_train:truedo_eval:truefinetuning_type:fulldeepspeed:examples/deepspeed/ds_z2_config.json### datasetdataset:My_New_Data_Set_1template:qwencutoff_len:2048overwrite_cache:truepreprocessing_num_workers:16dataloader_num_workers:4### outputoutput_dir:saves/qwen2.5-1.5b/full_sftlogging_steps:10save_steps:200plot_loss:trueoverwrite_output_dir:true### trainper_device_train_batch_size:1gradient_accumulation_steps:12learning_rate:1.0e-5num_train_epochs:3.0lr_scheduler_type:cosinewarmup_ratio:0.1bf16:falseddp_timeout:180000000resume_from_checkpoint:null### evalval_size:0.1per_device_eval_batch_size:1eval_strategy:stepseval_steps:200 

启动训练,提供了多种版本,可以根据需要选择:

# 单卡版:FORCE_TORCHRUN=1 CUDA_VISIBLE_DEVICES=0 llamafactory-cli train qwen2.5_1.5b_full_sft.yaml# 多卡版:FORCE_TORCHRUN=1 NNODES=1 NODE_RANK=0 MASTER_PORT=29500 llamafactory-cli train qwen2.5_1.5b_full_sft.yaml# 多机多卡版(假设两台机器):FORCE_TORCHRUN=1 NNODES=2 NODE_RANK=0 MASTER_ADDR=xx.xx.xx.xx MASTER_PORT=29500 llamafactory-cli train qwen2.5_1.5b_full_sft.yamlFORCE_TORCHRUN=1 NNODES=2 NODE_RANK=1 MASTER_ADDR=xx.xx.xx.xx MASTER_PORT=29500 llamafactory-cli train qwen2.5_1.5b_full_sft.yaml 

PEFT(参数高效微调)

PEFT 是一组方法的统称,只更新模型参数的一小部分(甚至不到 1%),同时固定大部分预训练权重。

  • 代表性方法包括 LoRA (Low-Rank Adaptation)、Prefix Tuning、Prompt Tuning 等。
  • 核心思想: 大多数预训练模型是过参数化的,只需要调整少量参数就能达到接近全量微调的性能。

优点

  • 极大地节省计算资源: 只需存储和计算少量新增参数的梯度。如使用 QLoRA 技术微调 7B 模型,可能只需 16GB-24GB 显存;
  • 训练速度快: 参数少,梯度计算快,训练速度显著提升;
  • 存储成本低: 最终只需要存储一个很小的适配器文件(Adapter, 几 MB 到几百 MB);
  • 避免灾难性遗忘: 固定了大部分预训练权重,有助于保留模型的通用知识和能力;
  • 模型切换方便: 可以轻松切换和加载不同的 Adapter 来应对不同的下游任务。

缺点

  • 性能略低于 Full Fine-Tuning: 在某些极端复杂的、或与预训练领域差异巨大的任务上,其性能上限可能略低于全量微调;
  • 推理时需要合并(Merge): 在生产部署时,通常需要将 PEFT 权重(如 LoRA Adapter)与原模型权重合并才能获得最佳的推理速度和效率。

在 LLaMA Factory 中可以通过以下配置来实现 LoRA 微调(qwen2.5_32b_lora_sft.yaml):

### modelmodel_name_or_path:/data/BaseModels/Qwen/Qwen2.5-32B-Instructtrust_remote_code:true### methodstage:sftdo_train:truefinetuning_type:loralora_alpha:32lora_rank:16lora_target:alldeepspeed:examples/deepspeed/ds_z2_config.json### datasetdataset:My_New_Data_Set_1template:qwencutoff_len:4096overwrite_cache:truepreprocessing_num_workers:16dataloader_num_workers:4### outputoutput_dir:saves/qwen2.5-32b_instruct/lora_sftlogging_steps:10save_steps:400plot_loss:trueoverwrite_output_dir:truesave_only_model:falsereport_to:none### trainper_device_train_batch_size:2gradient_accumulation_steps:8learning_rate:1.0e-5num_train_epochs:3.0lr_scheduler_type:cosinewarmup_ratio:0.1bf16:trueddp_timeout:180000000resume_from_checkpoint:null### evalval_size:0.1per_device_eval_batch_size:1eval_strategy:stepseval_steps:200 

在模型部署时,需要将 Base model 和 Adapter 进行合并,可以采用如下代码:

llamafactory-cli export \ --model_name_or_path /data/BaseModels/Qwen2.5-32B-Instruct \ --adapter_name_or_path saves/qwen2.5-32b_instruct/lora_sft \ --export_dir saves/qwen2.5-32b_instruct/lora_sft/merge/ --template qwen \ --finetuning_type lora \ --export_size 2 \ --export_legacy_format False \ --export_device cpu 

至此,我们得到了使用 LoRA 微调的完整模型。

DeepSpeed 配置

上面的配置中有 deepspeed 的配置:

  • deepspeed: examples/deepspeed/ds_z2_config.json

DeepSpeed 是微软开发的一个开源深度学习优化库,旨在提高大模型训练的效率和速度。DeepSpped 作为 LLMs 训练的高性能基础设施,能让研究人员和企业以更少的 GPU 资源更快的速度来训练超大模型(如千亿甚至上万亿参数)。

在使用 DeepSpeed 之前,需要先估计训练任务的显存大小,再根据任务需求与资源情况选择合适的 ZeRO 阶段。

  • ZeRO-1: 仅划分优化器参数,每个GPU各有一份完整的模型参数与梯度。
  • ZeRO-2: 划分优化器参数与梯度,每个GPU各有一份完整的模型参数。
  • ZeRO-3: 划分优化器参数、梯度与模型参数。

简单来说:从 ZeRO-1ZeRO-3,阶段数越高,显存需求越小,但是训练速度也依次变慢。此外,设置 offload_param=cpu 参数会大幅减小显存需求,但会极大地使训练速度减慢。因此,如果您有足够的显存, 应当使用 ZeRO-1,并且确保 offload_param=none

LLaMA Factory 提供了使用不同阶段的 DeepSpeed 配置文件的示例:

# LLaMA-Factory/examples/deepspeedds_z0_config.jsonds_z2_config.jsonds_z2_offload_config.jsonds_z3_config.jsonds_z3_offload_config.json 

Evaluation & Deployment

模型训练完后,需要对模型在测试集上进行评估。这里的评估指标更多的是我们定义的业务指标,如模型回答的格式是否正确,回答内容的准确率等等。不同也不差异较大,这里就不详细介绍了。

下面主要介绍如何部署模型,让我们能通过API请求模型。

LLaMA Factory API

可以通过 LLaMA Factory 实现 API 部署,如下所示,将模型使用 GPU0 部署起来:

API_PORT=8000 CUDA_VISIBLE_DEVICES=0 llamafactory-cli api \ --model_name_or_path saves/qwen2.5-32b_instruct/lora_sft/merge/ \ --template qwen 

可以通过 Requets 来请求模型:

defcall_llamafactory_api(prompt): url = 'http://localhost:8000/v1/chat/completions' headers = { 'accept': 'application/json', 'Content-Type': 'application/json' } payload = { "model": "qwen", "messages": [{ "role": "user", "content": prompt}], "do_sample": True, "temperature": 0.7, "top_p": 0.9, "n": 1, "max_tokens": 200, "stream": False } try: response = requests.post(url, headers=headers, data=json.dumps(payload)) if response.status_code == 200: rsp_json = response.json() messages = [] for chs in rsp_json.get('choices', []): msg = chs['message'] messages.append(msg['content']) return messages except requests.exceptions.RequestException as e: print(f"请求发生异常: {e}")return None 

Ollama API

此外,还可以使用 Ollama 来部署,主要流程如下:

在合并(Merge)后的 Hugging Face 格式模型之后,我们可以通过如下步骤来将模型部署之 Ollama 中:

转成 GGUF 格式

python3 tools/llama.cpp/convert_hf_to_gguf.py \ /data/LLamaFactory/saves/qwen2.5-32b_instruct/lora_sft/merge/\ --outtype auto \ --outfile /data/LLamaFactory/saves/qwen2.5-32b_instruct_lora_sft.gguf 

创建 Modelfile: 在包含 GGUF 文件的目录下,创建一个名为 Modelfile 的文件(无扩展名):

FROMqwen2.5-32b_instruct_lora_sft.ggufPARAMETERnum_ctx4096 

创建/导入模型: 使用 Ollama CLI 创建或导入模型

ollama create my-llm-model -f Modelfile# my-llm-model 给模型起的名字 

运行模型: 一旦导入完成,可以启动 Ollama 服务:

OLLAMA_MODELS=/usr/share/ollama/.ollama/models \ OLLAMA_HOST=0.0.0.0:6006 \ OLLAMA_ORIGINS=* \ ollama serve 

API调用:通过 Requests 来请求 ollama api,实现模型调用

OLLAMA_URL = "http://localhost:6006/v1/chat/completions"MODEL_NAME = "my-llm-model "defcall_ollama(prompt): data = { "model": MODEL_NAME, "messages": [{"role": "user", "content": prompt}], "stream": False } try: response = requests.post(OLLAMA_URL, json=data) response.raise_for_status() rsp = response.json() results = [] for chs in rsp['choices']: if chs['message']['role'] == 'assistant': result.append(chs['message']['content']) return results except Exception as e: result = None 

至此,我们成功将模型部署上线,并可以通过 API 请求模型,实现模型的在线服务。

Conclusion

本文提供了一份详尽且高度可操作的 LLMs 指令监督微调(SFT)实践指南,系统性地涵盖了从构建和格式化专业数据集到选择合适的训练策略(Full FT 或 PEFT),再到最终实现模型 API 部署上线的完整链路。

文中的每个关键环节都贴心地附带了必要的配置示例与核心代码片段,旨在帮助读者快速掌握端到端的微调技术,将基础 LLM 高效转化为解决特定业务问题的定制化智能体。

如何学习AI大模型?

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

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

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

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

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

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

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

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

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

在这里插入图片描述
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Read more

Trae IDE 安装与使用保姆级教程:字节跳动的 AI 编程神器

一、Trae 是什么? Trae(发音 /treɪ/)是字节跳动推出的 AI 原生集成开发环境(AI IDE),于 2025 年 1 月正式发布。与传统的 IDE + AI 插件组合不同,Trae 从底层架构上就将 AI 能力深度集成,实现了真正意义上的"AI 主导开发"。 核心定位 Trae 以 “自主智能体(Agent)” 为核心定位,彻底重构了传统开发流程: * Chat 模式:智能代码补全、问答、解释和优化 * Builder 模式:自然语言一键生成完整项目框架 * SOLO 模式:AI 自主规划并执行开发任务 版本划分 版本定位核心特色适用人群Trae

开源实战——手把手教你搭建AI量化分析平台:从Docker部署到波浪理论实战

开源实战——手把手教你搭建AI量化分析平台:从Docker部署到波浪理论实战

目录 导语 一、 为什么我们需要自己的AI分析工具? 二、 核心部署实战:避坑指南与镜像加速 1.基础环境准备 2.配置 AI 大脑:蓝耘 API 3.进阶技巧:Dockerfile 镜像加速(关键步骤) 4.构建与启动 三、 核心功能深度评测:AI 如何解读波浪理论? 1.AI 股票对话分析:不只是聊天,是逻辑推演 2.模拟交易账户管理:实战演练场 3.历史回测:让数据说话 4.系统设置界面 四、 打造全天候监控体系:通知渠道配置 五、 总结 导语 在量化交易日益普及的今天,散户最缺的往往不是数据,而是对数据的“解读能力”。面对满屏的K线图,

2026必备10个降AIGC工具,继续教育人必看!

2026必备10个降AIGC工具,继续教育人必看!

2026必备10个降AIGC工具,继续教育人必看! AI降重工具:让论文更“自然”的秘密武器 在当前的学术环境中,随着AI技术的广泛应用,论文中出现的AIGC痕迹越来越容易被检测出来。对于继续教育领域的学生和研究者来说,如何在保证内容质量的同时降低查重率和AI痕迹,成为了一项重要课题。而AI降重工具的出现,正是为了解决这一难题。 这些工具不仅能够有效识别并去除AI生成文本中的痕迹,还能在保持原文语义和逻辑的前提下进行优化调整,使论文更加符合学术规范。无论是初稿的快速处理,还是定稿前的细致检查,AI降重工具都能提供多样化的解决方案。它们通过智能算法分析文本结构、替换重复词汇、调整句式表达,从而实现降重与去AI痕迹的双重目标。 工具名称主要功能适用场景千笔强力去除AI痕迹、保语义降重AI率过高急需降重云笔AI多模式降重初稿快速处理锐智 AI综合查重与降重定稿前自查文途AI操作简单片段修改降重鸟同义词替换小幅度修改笔杆在线写作辅助辅助润色维普官方查重最终检测万方数据库查重数据对比Turnitin国际通用检测留学生降重ChatGPT辅助润色指令手动辅助 千笔AI(官网直达入

DeepSeek-Coder vs Copilot:嵌入式开发场景适配性对比实战

DeepSeek-Coder vs Copilot:嵌入式开发场景适配性对比实战

DeepSeek-Coder vs Copilot:嵌入式开发场景适配性对比实战 摘要 随着人工智能技术的飞速发展,智能编程助手已成为开发者提升效率的重要工具。在嵌入式开发这一对性能、资源约束和底层硬件操作有严苛要求的领域,选择合适的智能编程助手显得尤为关键。本文聚焦于两款国内领先的智能编程助手——DeepSeek-Coder(由深度求索公司开发)和 GitHub Copilot(由微软与 OpenAI 联合开发),通过实战测试与深度分析,对比它们在典型嵌入式开发场景中的表现、适配性及优缺点。测试涵盖交叉编译环境配置、硬件寄存器操作、实时操作系统(RTOS)应用、内存优化、调试辅助等核心环节,旨在为嵌入式开发者提供选型参考。 引言 嵌入式系统作为物联网(IoT)、工业控制、汽车电子、消费电子等领域的核心,其开发过程具有鲜明的特点: 1. 资源受限性: 内存(RAM/Flash)有限、处理器性能不高。 2. 硬件依赖性: 代码需紧密操作硬件寄存器、外设接口。 3. 实时性要求: