新闻详情

新闻详情

首页 / 资讯中心 / 详情

手把手跑通 verl 强化学习训练框架

发布时间:2026/9/28 18:11:52来源:尧图网络
手把手跑通 verl 强化学习训练框架
摘要让大模型学会做对题“说人话”靠的是强化学习。但真把强化学习跑起来麻烦一大堆一个训练循环里要同时伺候好几个模型还要在生成和训练两种完全不同的工作模式之间来回切换。verl 就是专门解决这件事的开源框架它把复杂的流程拆开、编排好你只需要改几行配置。这篇文章从最基础的概念讲起一步一步带你在一张显卡上跑通第一个强化学习训练再换成更省资源的 GRPO最后讲怎么扩到多卡多机。背景与问题先搞懂强化学习在训练什么想象你在教一个学生做数学题学生先做一遍题写出答案。老师批改对了给 1 分错了给 0 分。学生根据分数调整自己的解题习惯多用得分高的思路少用得分低的思路。重复很多轮。这就是强化学习的全部想法。放到大模型上学生是要训练的模型叫策略模型也叫 actor。做题是让模型针对一个问题生成回答这一步叫rollout生成。老师批改是奖励。奖励可以来自一个专门训练的打分模型也可以直接来自规则比如数学题答案对不对。调整习惯是用奖励去更新模型参数。RLHF 的全称是基于人类反馈的强化学习早期的奖励来自人类偏好。近两年更流行的是奖励可以自动验证的场景比如数学题、代码能不能通过测试思路一模一样。为什么这件事这么难做用一句话概括一个循环里既要生成又要训练还要好几个模型一起上。以最经典的 PPO 算法为例一轮循环里要用到四个角色Actor正在被训练的策略模型负责生成回答也负责被更新。Reference参考模型训练前模型的一份冻结副本。用来算你现在和最初相比偏离了多少防止模型为了骗高分而学歪。Critic价值模型估计照这样写下去最后大概能拿多少分。它对回答里的每个位置都给一个预估分用来判断某一步写得比预期好还是差。它本身也是一个要训练的大模型。Reward奖励打分的那一方可以是模型也可以是一段规则代码。更麻烦的是这些角色的工作模式差别很大生成阶段需要专门的推理引擎比如 vLLM追求吞吐训练阶段需要训练框架比如 FSDP、Megatron-LM要存梯度和优化器状态。同一份 actor 权重一会儿要放在推理引擎里一会儿要放在训练框架里显存怎么切、权重怎么同步处理不好就是显存爆炸或者 GPU 大量空转。而且你会发现整个循环里生成往往是最慢的一步后面的实际日志里就能看到。以前的做法哪里不好如果用一个中心节点指挥所有事情单控制器灵活但每个小操作都要经过它调度开销很大。如果让所有节点各干各的多控制器效率高但要改一个算法流程就得大动干戈。核心思路与优势verl 是什么verl 是字节跳动 Seed 团队起头、现在由 verl 社区共同维护的开源强化学习训练库是论文 HybridFlow 的开源实现这篇论文发表在系统领域的顶会 EuroSys 2025 上。它的定位是灵活、高效、能用于生产环境的大模型强化学习框架。项目原来放在火山引擎的组织下2026 年 1 月迁到了独立的 verl-project 组织旧仓库地址会自动跳转到新地址。截至 2026 年 9 月最新正式版是 v0.9.19 月 20 日发布。关键设计一混合控制器verl 把两种思路结合起来全局控制器只负责各角色之间的数据怎么流比如先让 actor 生成再交给 reward 打分再交给 critic 估值。这样算法流程写起来清晰改起来也方便。分布式控制器负责每个角色内部的并行计算这部分效率高不经过全局节点。好处是想换个算法只需要改数据流的那几行代码不必碰底层的并行逻辑。关键设计二3D-HybridEngine这是解决同一份 actor 在训练和生成间切换的办法。它负责在两种阶段之间把 actor 的权重重新切分做到内存零冗余通信开销也小。论文报告在不同的强化学习算法上吞吐比当时的基线系统提升了 1.53 倍到 20.57 倍。关键设计三即插即用的后端verl 不自己重复造轮子而是把成熟的组件接进来训练后端FSDP、FSDP2、Megatron-LM另外还接入了 TorchTitan、VeOmni 等生成引擎vLLM、SGLang、HF Transformers0.8 版起还加入了 TensorRT-LLM支持的算法PPO、GRPO、GSPO、RLOO、REINFORCE、DAPO、DrGRPO 等一大批硬件英伟达 GPU、AMD ROCm、昇腾模型Qwen 系列、Llama 3.1、Gemma 2、DeepSeek 等这意味着小模型用 FSDP超大模型换成 Megatron-LM生成部分选 vLLM 或 SGLang都只是改一个配置项。PPO 和 GRPO先看懂这一张表这是入门时最容易被绕晕的地方用最简单的话对比PPOGRPO要不要 Critic要额外多一个模型不要每个问题生成几条回答通常 1 条多条一组怎么判断回答好不好让 Critic 估一个基准分和同组其他回答的平均分比KL 惩罚加在哪通常折算进奖励直接加进损失显存开销较大较小GRPO 的思路很朴素同一道题让模型答 5 遍得分比这 5 遍的平均分高的回答就表扬低的就批评默认还会再除以这组分数的标准差让不同题目的分数尺度一致。它省掉了 Critic 这个大模型所以更省显存、更容易上手在数学、代码这类奖励可验证的任务上特别流行。面向人群想给自己的模型做强化学习后训练但不知道从哪里入手的算法工程师已经会做监督微调想进一步提升推理、数学、代码能力的同学想弄明白 PPO、GRPO 到底怎么落地而不是只看公式的学习者需要为团队选强化学习框架的技术负责人实践步骤我们分三段来走先用官方的入门例子跑通 PPO再换成 GRPO最后讲怎么扩展。全程用的是数学应用题数据集 GSM8K 和一个 5 亿参数的小模型一张显存 24GB 及以上的英伟达显卡就能跑官方快速入门给出的最低要求。第一步准备环境先说清楚硬性条件一台 Linux 机器英伟达显卡CUDA 12.8 及以上。官方的 uv 流程只支持 LinuxMac 上跑不起来。官方给了两条路任选其一。路线一uv新版文档的主推方式verl 仓库里提交了一份锁定好所有依赖版本的uv.lock你不需要手动pip install一堆东西。第一次执行uv run时uv 会按锁文件自动建好虚拟环境.venv之后直接复用curl-LsSfhttps://astral.sh/uv/install.sh|sh# 安装 uv已装可跳过gitclone https://github.com/verl-project/verl.gitcdverl uv run--frozen--all-packages--extravllm--extrafsdp python3-cimport verl; print(ok)最后一行各部分的意思--frozen严格按仓库里的锁文件装不自己重新解析版本。--all-packages把仓库里的所有子包都装上。--extra vllm --extra fsdp选择生成用 vLLM、训练用 FSDP这套组合。生成引擎 vllm 和 sglang 只能二选一训练后端在 fsdp 和 megatron 里选。看到输出ok环境就建好了。第一次会下载不少东西要等一会儿。接着激活这个环境后面所有python3命令都在里面执行source.venv/bin/activate路线二Docker快速入门文档推荐用 Docker 镜像好处是 CUDA 驱动之外的依赖都已经装好。仓库里自带一份 uv 版的 Dockerfile同样先 clone 仓库然后在仓库根目录构建一次即可DOCKER_BUILDKIT1dockerbuild-fdocker/Dockerfile.uv.cu130-tverl:uv-cu130.dockerrun--rm-it--gpusall verl:uv-cu130bash这个镜像里预先缓存好了所有依赖包但还没有建好具体的环境。进入容器后工作目录就是 verl 仓库先执行一次路线一里那行uv run ... python3 -c import verl; print(ok)它会用镜像里的缓存离线建好.venv然后就可以往下走了。Docker Hub 上也有官方预构建的verlai/verl镜像用的话要挑和你的 verl 版本匹配的标签。需要留意的是生成引擎的版本要求很严格verl 的版本更新会调整支持的 vLLM 范围比如 0.9.0 起就不再支持 0.18.0 以前的 vLLM。所以请严格按照你所用版本的官方文档来不要随手升级组件。第二步准备数据GSM8K 是一个小学数学应用题数据集。verl 自带了预处理脚本会把它转成 verl 需要的 parquet 格式python3 examples/data_preprocess/gsm8k.py--local_save_dir~/data/gsm8k跑完后~/data/gsm8k下会有train.parquet和test.parquet两个文件分别是训练集和测试集。脚本还顺手做了一件重要的事在每道题后面加上一句英文提示要求模型一步步思考并把最终答案写在####之后。后面算奖励时就靠这个标记找答案。第三步下载模型我们用通义千问的 5 亿参数指令模型小到一张卡就能装下 PPO 的全部角色python3-cimport transformers; transformers.pipeline(text-generation, modelQwen/Qwen2.5-0.5B-Instruct)这条命令的作用只是触发一次下载把模型缓存到本地。如果从国内访问 Hugging Face 不方便官方文档提供了一个开关设置环境变量VERL_USE_MODELSCOPETrue训练时就会改从魔搭社区下载模型。第四步启动第一次 PPO 训练PYTHONUNBUFFERED1python3-mverl.trainer.main_ppo\data.train_files$HOME/data/gsm8k/train.parquet\data.val_files$HOME/data/gsm8k/test.parquet\data.train_batch_size256\data.max_prompt_length512\data.max_response_length512\actor_rollout_ref.model.pathQwen/Qwen2.5-0.5B-Instruct\actor_rollout_ref.actor.optim.lr1e-6\actor_rollout_ref.actor.ppo_mini_batch_size64\actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu4\actor_rollout_ref.rollout.namevllm\actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu8\actor_rollout_ref.rollout.tensor_model_parallel_size1\actor_rollout_ref.rollout.gpu_memory_utilization0.4\actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu4\critic.optim.lr1e-5\critic.model.pathQwen/Qwen2.5-0.5B-Instruct\critic.ppo_micro_batch_size_per_gpu4\algorithm.use_kl_in_rewardTrue\algorithm.kl_ctrl.kl_coef0.001\trainer.loggerconsole\trainer.val_before_trainFalse\trainer.n_gpus_per_node1\trainer.nnodes1\trainer.save_freq10\trainer.test_freq10\trainer.total_epochs15这条命令基本照搬官方快速入门只多加了一行algorithm.use_kl_in_rewardTrue原因下面会讲。如果你走的是 uv 路线记得先激活.venv再执行。参数很多别慌按前缀分组来看就清楚了data.*喂什么数据train_batch_size256每一轮训练日志里的一个 step取 256 个问题。注意单位是问题不是回答。max_prompt_length和max_response_length问题和回答各自最多多少个 token。回答写到 512 个 token 还没写完就会被强行停下。actor_rollout_ref.*策略模型、生成引擎、参考模型三合一model.path要训练的模型。actor.optim.lr1e-6学习率。强化学习的学习率要比监督微调小得多否则模型很容易学崩。ppo_mini_batch_size64每做一次参数更新用多少个问题这是所有显卡加起来的全局值。256 个问题会被切成 4 份所以每个 step 里 actor 实际更新 4 次参数。ppo_micro_batch_size_per_gpu4每张卡一次前向、反向计算处理几条样本一条样本就是一个问题加一条回答。显卡处理不了一整份 mini batch 时就拆成几小口分别算再把梯度累加起来。所以它不影响训练效果只是显存和速度的折中显存不够就调小。rollout.namevllm用 vLLM 来生成回答。rollout.gpu_memory_utilization0.4vLLM 最多能占用整张卡显存的 40%用来放模型权重和生成时的缓存。这里给得比较少是因为一张卡上还同时驻留着 actor、critic、参考模型的参数训练时还要放梯度和优化器状态得给它们留出空间。rollout.tensor_model_parallel_size1生成时用几张卡做张量并行。框架默认值是 2单卡必须显式改成 1。rollout.log_prob_micro_batch_size_per_gpu和ref.log_prob_micro_batch_size_per_gpu重新计算每个词的概率时每张卡一次处理几条样本。同样只影响显存和速度。critic.*价值模型这里用同一个模型来初始化 Critic学习率1e-5比 actor 大一些。algorithm.*KL 惩罚use_kl_in_rewardTrue把偏离参考模型多少折算成扣分从奖励里扣掉这是经典 PPO 的做法。新版本里这个开关默认是关的而官方快速入门命令没有写它。不打开的话下面的kl_coef不起作用参考模型也根本不会启动。kl_ctrl.kl_coef0.001KL 惩罚系数。数值越大模型越保守越不敢偏离最初的样子。trainer.*训练调度n_gpus_per_node1、nnodes1一台机器一张卡。val_before_trainFalse开训前不先跑一遍验证省点时间。save_freq10、test_freq10每 10 个 step 存一次检查点、跑一次验证。total_epochs15把训练数据过 15 遍。GSM8K 训练集约 7473 道题每个 step 用 256 道一遍大约 29 个 step15 遍一共四百多个 step。如果显存不到 32GB 跑不起来官方建议先把actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu和critic.ppo_micro_batch_size_per_gpu都改成 1。第五步看懂训练日志启动后每个 step 终端会输出一长行指标节选出来大概是这样数字取自官方文档的示例日志step:0 - timing_s/gen:21.470 - timing_s/ref:4.360 -... - critic/score/mean:0.004 - critic/vf_loss:14.947 - actor/pg_loss:-0.005 - response_length/mean:239.133注意一个版本差异官方快速入门文档里的示例日志还是旧名字timing/gen、val/test_score/openai/gsm8k新版本已经改成下面这些名字了含义不变。如果你用的是较老的 verl 版本看到旧名字也不用慌。初学者最需要盯住的几个指标critic/score/mean这一批回答的平均得分。训练的目标就是让它一路上升。刚开始接近 0说明小模型基本答不对。val-core/openai/gsm8k/reward/mean1在测试集上的平均得分每test_freq个 step 计算一次。GSM8K 答对 1 分、答错 0 分所以它就是准确率这是最终要看的真实成绩。timing_s/gen生成阶段的耗时单位是秒。上面这行里生成花了 21 秒而参考模型计算timing_s/ref只花了 4 秒。这印证了前面说的生成往往是最慢的一环。response_length/mean回答的平均长度。如果它突然暴涨或骤降通常说明模型学偏了。critic/vf_loss和actor/pg_loss价值模型和策略模型各自的损失用来判断训练是否稳定不必逐个细看。第六步奖励是怎么来的GSM8K 的奖励规则非常简单模型的回答里最终答案要写在####之后。程序用正则表达式把它抽出来和标准答案比较答对得 1 分答错得 0 分没给答案也是 0 分。verl 是怎么知道该用这条规则的预处理脚本给每条数据打了一个来源标签data_source这里是openai/gsm8k标准答案则存在reward_model.ground_truth字段里。verl 看到这个来源就自动调用内置的 GSM8K 打分函数。这就是可验证奖励的魅力不需要训练专门的打分模型一段几行的规则代码就够了。想让模型学别的任务思路是一样的换一份数据再写一个判断对错的函数交给 verl。比如新建一个my_reward.pydefcompute_score(data_source,solution_str,ground_truth,extra_infoNone,**kwargs):# solution_str模型生成的回答文本# ground_truth数据里存的标准答案if####notinsolution_str:return0.0# 没按格式给答案answersolution_str.split(####)[-1].strip()return1.0ifanswerstr(ground_truth).strip()else0.0函数的参数名要照这个写返回一个分数即可。然后在训练命令里加两行告诉 verl 去用它reward.custom_reward_function.path$(pwd)/my_reward.py\reward.custom_reward_function.namecompute_score\name默认就是compute_score函数叫这个名字时第二行可以省略。老版本的教程里这两个配置没有reward.前缀新版本会自动兼容但建议按新写法来。注意自定义函数会同时用于训练和验证两边的打分。第七步换成 GRPOPPO 要额外训练一个 Critic比较占资源。换成 GRPO就是不再要 Critic让每个问题答多遍。需要改的关键点只有这几个PYTHONUNBUFFERED1python3-mverl.trainer.main_ppo\algorithm.adv_estimatorgrpo\algorithm.use_kl_in_rewardFalse\data.train_files$HOME/data/gsm8k/train.parquet\data.val_files$HOME/data/gsm8k/test.parquet\data.train_batch_size256\data.max_prompt_length512\data.max_response_length1024\actor_rollout_ref.model.pathQwen/Qwen2.5-0.5B-Instruct\actor_rollout_ref.actor.optim.lr1e-6\actor_rollout_ref.actor.ppo_mini_batch_size64\actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu4\actor_rollout_ref.actor.use_kl_lossTrue\actor_rollout_ref.actor.kl_loss_coef0.001\actor_rollout_ref.actor.kl_loss_typelow_var_kl\actor_rollout_ref.rollout.namevllm\actor_rollout_ref.rollout.n5\actor_rollout_ref.rollout.tensor_model_parallel_size1\actor_rollout_ref.rollout.gpu_memory_utilization0.4\actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu8\actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu8\trainer.loggerconsole\trainer.val_before_trainFalse\trainer.n_gpus_per_node1\trainer.nnodes1\trainer.save_freq10\trainer.test_freq10\trainer.total_epochs15和 PPO 版本对比变化有四处algorithm.adv_estimatorgrpo把优势估计方式从默认的 GAE 换成 GRPO同时去掉了整个critic.*配置因为不再需要 Critic优势估计方式不是 GAE 时框架会自动关掉 Critic。rollout.n5每个问题生成 5 条回答构成一组。这个值必须大于 1GRPO 才有组内比较可做。此时每个 step 实际生成的回答总数是train_batch_size × n也就是 256 × 5 1280 条。同理ppo_mini_batch_size64虽然写的是 64 个问题框架内部会自动乘以 5每次参数更新实际用 320 条回答。use_kl_lossTrue、kl_loss_coef0.001、kl_loss_typelow_var_klGRPO 把 KL 惩罚直接加进损失里而不是像 PPO 那样折算进奖励所以要打开这个开关同时让use_kl_in_reward保持关闭。系数 0.001 和估算方式low_var_kl都是框架默认值写出来是为了看得明白。打开use_kl_loss后参考模型会自动启动。max_response_length调到 1024给模型多一点空间写解题过程。回答变长、条数变多生成会更慢显存也更紧跑不动时先调小各个micro_batch_size_per_gpu。另外两个 GRPO 相关的设置不用改默认值就是官方推荐的损失聚合方式loss_agg_mode默认就是token-mean熵奖励系数entropy_coeff默认是 0。想看更完整的写法可以参考官方仓库examples/grpo_trainer/下的脚本比如run_qwen3_8b_fsdp.sh它面向的是 8 卡、80 亿参数的模型额外开了动态批大小、梯度检查点、参考模型参数卸载等选项。第八步扩展到多卡、多机、大模型小模型跑通之后往上扩展主要动这几处单机多卡最简单把trainer.n_gpus_per_node改成这台机器的显卡数比如 8其余不用动。多机verl 底层用 Ray 调度多台机器要先组成一个 Ray 集群再把训练任务提交上去。官方文档的手动步骤是这样的# 1. 在主节点上启动 Ray输出里会给出一个集群地址ray start--head--dashboard-host0.0.0.0# 2. 在每台其他机器上用上一步拿到的地址加入集群ray start--address主节点给出的地址# 3. 任意一台机器上确认节点都到齐了ray status# 4. 在主节点上通过 Ray 控制台地址默认 8265 端口提交训练任务ray job submit--addresshttp://127.0.0.1:8265\--runtime-envverl/trainer/runtime_env.yaml\--no-wait\--\python3-mverl.trainer.main_ppo\trainer.n_gpus_per_node8\trainer.nnodes2\...第 4 步的...就是前面那一串训练参数nnodes填机器台数。提交后用ray job logs 任务 ID --follow看实时日志用ray job stop 任务 ID停止任务。每台机器的环境、代码和数据路径要保持一致。如果控制台端口访问不通多半是防火墙的问题。生成并行度模型变大后把rollout.tensor_model_parallel_size调大让一个模型副本跨多张卡做生成。换训练后端模型大到 FSDP 吃力时换成 Megatron-LM。官方示例脚本的做法是在训练命令里加一行model_enginemegatronuv 环境要同时把--extra fsdp换成--extra megatron。可以参考examples/grpo_trainer/run_qwen3_8b_megatron.sh。参考模型卸载官方建议超过 70 亿参数的模型开启参考模型的参数卸载把暂时不用的参数挪到内存里配置是actor_rollout_ref.ref.fsdp_config.param_offloadTrue。监控把trainer.logger改成列表形式比如trainer.logger[console,wandb]也支持 tensorboard 等并设好trainer.project_name和trainer.experiment_name方便对比多次实验。常见问题排查显存不足优先调小各类micro_batch_size_per_gpu其次降低rollout.gpu_memory_utilization再考虑缩短max_response_length或开启梯度检查点actor_rollout_ref.model.enable_gradient_checkpointingTrue。训练很慢先看日志里timing_s/gen在timing_s/step整个 step 的总耗时里是不是占大头。如果是说明瓶颈在生成可以增大生成并行度或者换用吞吐更高的生成引擎。奖励迟迟不涨检查奖励函数是否真的能给出区分度。如果一组回答全对或全错GRPO 就学不到东西。可以适当增大rollout.n或者换一份难度更合适的数据。模型输出变得奇怪可能是学偏了适当调大 KL 系数PPO 是kl_ctrl.kl_coefGRPO 是kl_loss_coef或调小学习率。改了 KL 系数却没反应检查 KL 开关是否真的打开了。PPO 要algorithm.use_kl_in_rewardTrueGRPO 要actor.use_kl_lossTrue两个都关着时参考模型根本不会参与计算。版本报错强化学习框架依赖的组件多、更新快遇到不兼容第一反应是回到官方文档核对该版本要求的 vLLM、PyTorch 版本。我的看法强化学习后训练过去是少数大厂才玩得起的事原因不是算法多神秘而是工程太重多个模型、两种工作模式、复杂的并行。verl 的价值就是把这层工程复杂度替你扛下来让你能把精力放在数据和奖励设计上。对新手来说最务实的路线是先用小模型加 GSM8K 把 PPO 跑通、看懂日志再换成 GRPO体会没有 Critic 的省心然后换成你自己的任务认真设计奖励函数。这一步往往比调参更决定成败。等到模型变大再考虑多机、Megatron-LM 这些扩展手段一步一步来出问题也好定位。项目地址github.com/verl-project/verl
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化 2026/9/28 22:21:08

基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化

简介:本资源面向计算机视觉初学者与进阶开发者,提供一套基于PaddleOCR的车牌识别完整项目源码,帮助读者从零搭建可运行的车牌检测与识别系统,解决车牌定位、字符识别及模型部署等实际问题。压缩包共416个文件,约37MB&a…

阅读更多 →
Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路 2026/9/28 22:21:08

Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路

简介:这份资源面向高校学生与深度学习入门者,提供一套基于Python的人脸识别系统完整毕业设计实现,涵盖代码、模型与文档说明,可用于毕业设计、课程设计或期末大作业。项目采用深度学习方案,涉及FER2013、CK、JAFFE等公…

阅读更多 →
Python视频剪辑-Moviepy图文处理ImageClip 2026/9/28 22:21:02

Python视频剪辑-Moviepy图文处理ImageClip

在视频编辑和多媒体制作中,静态图像和文本的动态展示成为增强视觉效果的关键手段。ImageClip 和 TextClip 作为 moviepy 中的强大工具,提供了将静态图片和文字转化为视频剪辑的便捷方式。无论是为视频插入图片或文字,还是为图片添加透明效果和动画过渡,这些功能都极大地丰富…

阅读更多 →
小米开源MiMo-V2.6:Pro/Flash双版本与API部署实战解析 2026/9/28 22:21:02

小米开源MiMo-V2.6:Pro/Flash双版本与API部署实战解析

1. 全系列发布:MiMo-V2.6 的双版本策略小米把 MiMo-V2.6 做成 Pro 和 Flash 两个版本一起开源,这个动作在圈内其实比模型本身更有看点。国内大模型开源生态里,同一代模型一次性放出完整版和轻量版的情况不算多,大多数厂商习惯先发…

阅读更多 →
山东靠谱的电商财税合规专业机构客户口碑力荐 2026/9/28 22:20:55

山东靠谱的电商财税合规专业机构客户口碑力荐

做电商的老板,多少都藏着几本糊涂账。多店铺开着,流水从支付宝、微信转到私卡,拿货没有进项票,报税只敢报开票收入,平台数据和申报对不上,夜里睡觉都担心金税四期的大数据预警。普通代账公司看不懂电商后台…

阅读更多 →
MiMo-V2.6开源双版本大模型:API平价背后的本地部署与模型选型 2026/9/28 22:20:55

MiMo-V2.6开源双版本大模型:API平价背后的本地部署与模型选型

近两年开源大模型的迭代速度,用一个词来形容就是“疯狂”。各大厂商从过去单纯卷参数、卷跑分,逐渐转向卷开源生态、卷API性价比。小米这次放出的 MiMo-V2.6 系列,最让我留意的不是“Pro 与 Flash 双版本”这个产品矩阵本身,而是那…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉