HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力

news2025/1/5 8:07:58

HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力

    • 论文大纲
    • 理解
      • 1. 确认目标
      • 2. 分析过程
      • 3. 实现步骤
      • 4. 效果展示
    • 解法拆解
    • 全流程
    • 提问
    • 俩阶段详细分析

 


论文:HuatuoGPT-o1, Towards Medical Complex Reasoning with LLMs

代码:https://github.com/FreedomIntelligence/HuatuoGPT-o1

论文大纲

├── HuatuoGPT-o1【论文主题】
│   ├── 研究背景【问题阐述】
│   │   ├── OpenAI o1的突破【研究动机】
│   │   ├── 数学领域推理研究较多【现状】
│   │   └── 医学领域推理研究缺乏【研究缺口】
│   │
│   ├── 可验证医学问题构建【方法基础】
│   │   ├── 从医学考试题库选取【数据来源】
│   │   ├── 筛选具有挑战性的问题【数据筛选】
│   │   └── 转化为开放式问题【数据转化】
│   │
│   ├── 两阶段训练方法【核心方法】
│   │   ├── 阶段一:学习复杂推理【基础训练】
│   │   │   ├── 策略搜索【具体方法】
│   │   │   └── 验证器反馈【训练指导】
│   │   │
│   │   └── 阶段二:强化学习增强【进阶训练】
│   │       ├── PPO算法应用【技术实现】
│   │       └── 稀疏奖励机制【训练策略】
│   │
│   └── 实验验证【成果验证】
│       ├── 模型性能提升【效果】
│       │   ├── 8B版本提升8.5点【具体指标】
│       │   └── 70B版本超越现有模型【竞争优势】
│       │
│       └── 方法有效性验证【方法验证】
│           ├── 复杂推理提升医学问题解决能力【应用价值】
│           └── 强化学习显著提升效果【方法价值】
│
└── 研究贡献【研究意义】
├── 首次实现医学复杂推理【创新性】
├── 提出两阶段训练方法【方法论】
├── 开发首个具备复杂推理能力的医学LLM【技术突破】
└── 证实复杂推理在医学问题中的有效性【实践价值】

理解

  1. 提出背景:

类别问题:LLMs在医学领域的推理能力不足

具体问题:

  • 医学诊断需要严谨的推理过程,但现有模型缺乏可验证的推理能力
  • 现有研究主要集中在数学推理,医学推理领域研究不足
  • 医学推理的验证比数学更具挑战性
  1. 概念性质:
    HuatuoGPT-o1是一个具备复杂推理能力的医学大语言模型

其性质由两个关键因素决定:

  • 可验证医学问题的构建方法
  • 两阶段训练策略(学习复杂推理+强化学习增强)
  1. 对比举例:
    正例:一个关于疟疾并发症的诊断案例,模型通过多步推理,考虑症状(发热、寒战)、实验室检查结果,最终得出脑水肿的结论
    反例:简单的是/否问题,如"患者是否发烧",这类问题不需要复杂推理

  2. 类比理解:

HuatuoGPT-o1就像一个经验丰富的医生在诊断过程中:

  • 首先收集症状和检查结果(输入信息)
  • 然后进行多角度分析(复杂推理)
  • 最后得出诊断结论(输出结果)
  • 并且能够解释推理过程(可验证性)
  1. 概念介绍与总结:

HuatuoGPT-o1是一个专门针对医学领域的大语言模型,其核心特点是:

  • 具备复杂推理能力
  • 推理过程可验证
  • 采用两阶段训练方法
  • 在多个医学基准测试中表现优异
  1. 概念重组:
    “医学推理智能助手”:在医学领域中进行智能推理,助力医生进行诊断决策

  2. 上下文关联:
    文章通过介绍背景、方法、实验和结果,完整展示了HuatuoGPT-o1的研发过程和创新价值

  3. 规律发现:
    主要矛盾:医学推理的可验证性问题
    次要矛盾:

  • 训练数据的获取和处理
  • 模型规模和计算资源
  • 推理效率的优化
  1. 功能分析:
    核心功能:提供可靠的医学推理能力
    具体表现:
  • 定量指标:在医学基准测试中提升8.5个百分点
  • 定性特征:推理过程清晰可验证,符合医学诊断思维
  1. 来龙去脉:
  • 起因:OpenAI o1展示了强大的推理能力,但医学领域缺乏类似研究
  • 经过:研究团队构建可验证医学问题,开发两阶段训练方法
  • 结果:成功开发具备复杂推理能力的医学大语言模型
  1. 创新点:
  • 首次将复杂推理应用于医学领域
  • 提出可验证医学问题的构建方法
  • 开发两阶段训练策略
  • 证明复杂推理在医学问题解决中的有效性
  • 实现模型性能的显著提升

 

1. 确认目标

主要目标:如何让大模型在医学领域实现可靠的复杂推理能力?

2. 分析过程

问题层层分解:

  1. 如何构建可验证的医学推理问题?

    • 从医学考试题库筛选挑战性问题
    • 转化为开放式问题
    • 确保答案唯一且客观
  2. 如何让模型学会复杂推理?

    • 设计搜索策略(回溯、探索新路径、验证、修正)
    • 使用验证器提供反馈
    • 将成功的推理轨迹用于微调
  3. 如何进一步提升推理能力?

    • 采用PPO算法进行强化学习
    • 设计稀疏奖励机制
    • 保持与初始策略的KL散度

3. 实现步骤

  1. 构建数据集
    • 收集192K医学选择题
    • 筛选得到40K可验证问题
    • 划分为训练集和验证集

在这里插入图片描述

  • 左侧:展示了如何从医学考试题库(MedQA & MedMCQA数据集)中筛选和转化出可验证的医学问题
  • 右侧:说明医学验证器如何检查模型输出与标准答案的匹配程度
  • 包含了一个具体示例:将一个关于30岁女性旅行相关症状的多选题转化为开放式问题
  1. 阶段一:学习复杂推理
    • 初始化推理链
    • 应用搜索策略
    • 收集成功轨迹
    • 进行模型微调

在这里插入图片描述
HuatuoGPT-o1的训练过程示意图:

  • 左侧(第一阶段):展示如何搜索正确的推理轨迹以训练模型进行复杂推理
  • 右侧(第二阶段):说明如何通过强化学习进一步增强复杂推理能力
  • 包含了问题、验证器、搜索策略和强化学习各个组件的交互过程
  1. 阶段二:强化学习增强
    • 设置奖励函数
    • 应用PPO算法
    • 迭代优化模型

在这里插入图片描述
推理路径示例详解:

  • 左侧:展示了一个完整的搜索过程,包括:
    • 初始推理尝试
    • 验证策略的应用
    • 修正策略的使用
    • 探索新路径策略的应用
    • 最终找到正确答案
  • 右侧:展示如何将搜索过程重构为流畅的复杂推理链

4. 效果展示

在这里插入图片描述

目标:开发具备复杂推理能力的医学大语言模型

过程:两阶段训练方法(复杂推理学习+强化学习)

问题:医学推理的可验证性

方法:可验证问题构建 + 搜索策略 + 强化学习

结果:

  • 8B模型性能提升8.5个百分点
  • 70B模型超越现有开源模型
  • 在多个医学基准测试中表现优异

解法拆解

  1. 逻辑关系拆解:

技术:HuatuoGPT-o1 = 可验证医学问题学习 + 基于验证器的复杂推理增强
问题:医学领域需要可靠的复杂推理能力
主要区别:与其他医学LLM相比,引入了验证和迭代反馈机制

子解法拆解:

解法1:可验证医学问题构建

  • 因为特征:医学推理需要客观验证
    • 筛选具有挑战性的问题(因为需要深度推理)
    • 确保答案唯一性(因为需要准确验证)
    • 转化为开放式问题(因为促进推理思考)

解法2:复杂推理能力培养

  • 因为特征:医学决策需要深入思考
    • 构建搜索策略(因为需要探索多个推理路径)
    • 应用验证器反馈(因为需要确保推理正确性)
    • 生成复杂推理链(因为需要展示推理过程)

解法3:强化学习增强

  • 因为特征:需要持续优化推理能力
    • 设计奖励机制(因为引导模型改进)
    • 结合KL散度(因为平衡探索和利用)
  1. 逻辑链形式:
HuatuoGPT-o1
├── 问题构建
│   ├── 筛选问题
│   ├── 验证唯一性
│   └── 开放式转化
├── 推理培养
│   ├── 搜索策略
│   │   ├── 回溯
│   │   ├── 探索新路径
│   │   ├── 验证
│   │   └── 修正
│   └── 验证器反馈
└── 强化增强
    ├── 奖励机制
    └── KL散度平衡
  1. 隐性方法:
  • 推理路径合并:将多轮搜索结果整合为连贯的推理过程
  • 验证器构建:使用GPT-4评估答案正确性
  • 自然语言转化:将结构化推理转为流畅的语言表达
  1. 隐性特征:
  • 推理质量与令牌数量的关系(平均712个令牌效果最好)
  • 验证器可靠性对整体性能的影响
  • 不同搜索策略的组合效果
  1. 潜在局限性:
  • 依赖GPT-4作为验证器可能引入偏差
  • 仅适用于有明确答案的医学问题
  • 计算资源消耗大
  • 对中小型模型效果可能有限
  • 可能存在数据覆盖不全面的问题

全流程

在这里插入图片描述

  1. 全流程优化分析:

多题一解情况:

  • 共用特征:需要深度推理的医学问题
  • 共用解法:验证器引导的搜索策略
  • 适用场景:复杂诊断、治疗方案制定等需要多步推理的医学问题

一题多解情况:

  • 特征1:需要回溯思考 -> 解法:回溯策略
  • 特征2:需要新视角 -> 解法:探索新路径
  • 特征3:需要验证确认 -> 解法:验证策略
  • 特征4:需要修正完善 -> 解法:修正策略

优化方案:

  1. 数据层面优化:

    • 原方案:直接使用医学考试题
    • 优化后:构建可验证问题库
  2. 推理过程优化:

    • 原方案:单次推理
    • 优化后:多策略迭代搜索
  3. 验证机制优化:

    • 原方案:精确匹配
    • 优化后:GPT-4语义验证
  4. 输入输出示例:

医疗案例:
输入:

患者,30岁女性,最近从印度旅行回来,出现发抖、寒战、发烧、头痛、面色苍白和黄疸。
生命体征:体温38.9°C,呼吸19/分,血压120/80mmHg,脉搏94/分。
实验室检查:红细胞压积30%,总胆红素2.6mg/dL,直接胆红素0.3mg/dL。
此症状最严重的并发症是什么?

处理流程:

  1. 初始推理(e0,y0):

    • 分析症状和体征
    • 考虑旅行史
    • 初步判断可能是疟疾
  2. 验证器检查:需要更深入分析

  3. 搜索策略迭代:

    • 探索并发症机制
    • 分析症状严重程度
    • 考虑不同类型疟疾
  4. 最终推理(ei,yi):

    • 确认为恶性疟疾
    • 分析并发症风险

输出:
“脑水肿是该病情最严重的并发症。基于患者的旅行史和临床表现,这很可能是恶性疟疾,其中脑水肿是最危险的并发症,可导致意识障碍甚至死亡。”

这个例子展示了模型如何通过复杂推理和多轮验证,从初始症状描述到最终得出准确的医学判断。

 


提问

  1. Q: HuatuoGPT-o1的核心创新是什么?
    A: 首次在医学领域引入可验证问题和医学验证器来发展复杂推理能力,通过两阶段训练方法:先利用验证器指导搜索得到复杂推理轨迹,再用强化学习进一步增强推理能力。

  2. Q: 如何将医学多选题转化为可验证问题?
    A: 通过三步流程:1)用小型模型筛选有挑战性的问题;2)确保问题有唯一明确答案;3)将封闭式多选题重写为开放式问题。

  3. Q: 医学验证器的准确率如何?
    A: GPT-4验证器在两个阶段分别达到96.5%和94.5%的准确率,远高于简单的精确匹配方法(70.5%和74.5%)。

  4. Q: 为什么复杂推理对医学问题特别重要?
    A: 医学决策通常需要谨慎的思考过程来确保答案可靠性,这类似于医生在现实诊断中的深入思考过程。

  5. Q: 四种搜索策略的具体作用是什么?
    A: 回溯用于重新审视前期推理、探索新路径用于尝试不同角度、验证用于确认当前推理、修正用于改进现有推理。

  6. Q: 模型在训练中如何处理错误答案?
    A: 当验证器发现错误时,模型会随机选择一种搜索策略进行改进,直到找到正确答案或达到最大尝试次数。

  7. Q: 强化学习阶段的奖励机制如何设计?
    A: 正确答案获得1.0分,错误答案0.1分,缺乏思考过程0分,同时结合KL散度来平衡探索和利用。

  8. Q: 为什么要限制在40K可验证问题?
    A: 这是经过严格筛选的高质量问题集,能够有效训练模型的推理能力,同时保持计算资源的合理使用。

  9. Q: 复杂推理和简单推理在强化学习中的差异?
    A: 复杂推理(平均712个令牌)获得3.6点提升,而简单推理(281个令牌)只有2.6点提升,说明更长的推理过程提供了更丰富的学习信号。

  10. Q: HuatuoGPT-o1的主要局限性是什么?
    A: 主要限制包括:依赖GPT-4作为验证器可能引入偏差、只适用于有明确答案的医学问题、计算资源需求大、可能存在数据覆盖不全面的问题。

俩阶段详细分析

第一阶段:学习复杂推理(Learning Complex Reasoning)

  1. 输入与准备:
  • 可验证医学问题(x, y*):x是问题,y*是标准答案
  • 初始LLM模型(如GPT-4o)
  • 医学验证器
  1. 搜索正确推理路径:
def search_reasoning_path(x, y*, max_tries=3, max_iter=3):
    for try_count in range(max_tries):
        # 初始推理
        e0, y0 = LLM_init(x)  # 生成初始推理链和答案
        
        if verifier(y0, y*):  # 如果初始答案正确
            return format_reasoning([e0, y0])
            
        # 如果错误,开始迭代搜索
        history = [(e0, y0)]
        for i in range(max_iter):
            # 随机选择搜索策略
            strategy = random.choice([
                'backtracking',
                'exploring_new_paths',
                'verification',
                'correction'
            ])
            
            # 应用选定策略生成新推理
            ei, yi = LLM_strategy(x, history, strategy)
            history.append((ei, yi))
            
            if verifier(yi, y*):  # 如果找到正确答案
                return format_reasoning(history)
                
    return None  # 未找到正确路径
  1. 构建训练数据:
def format_reasoning(history):
    # 将搜索历史重构为自然流畅的推理过程
    complex_cot = ""
    for i, (ei, yi) in enumerate(history):
        if i > 0:
            complex_cot += transition_words()  # 添加过渡词
        complex_cot += format_thought(ei)
    
    return complex_cot

第二阶段:强化学习增强(Enhance Reasoning with RL)

  1. 准备工作:
  • 使用第一阶段训练好的模型作为初始策略
  • 设计奖励函数
  • 配置PPO参数
  1. 强化学习实现:
def rl_training(model, verifier, beta=0.03):
    def compute_reward(y, y*, policy_old, policy_new):
        # 基础奖励
        base_reward = 1.0 if verifier(y, y*) else 0.1
        
        # KL散度惩罚
        kl_penalty = beta * compute_kl(policy_old, policy_new)
        
        return base_reward - kl_penalty
    
    ppo = PPO(
        learning_rate=5e-7,
        batch_size=128,
        clip_range=0.2,
        value_coef=1.0,
        epochs=3
    )
    
    for batch in data_loader:
        # 收集轨迹
        states, actions, old_probs = collect_trajectories(model, batch)
        
        # 计算奖励
        rewards = [compute_reward(y, y*, old_p, new_p) 
                  for y, y*, old_p, new_p in zip(
                      actions, batch.answers, old_probs, model.probs)]
        
        # PPO更新
        ppo.update(states, actions, rewards, old_probs)

关键实现细节:

  1. 验证器实现:
def medical_verifier(response, reference):
    # 使用GPT-4进行语义匹配
    prompt = construct_verification_prompt(response, reference)
    result = gpt4(prompt)
    return parse_verification_result(result)
  1. 搜索策略实现:
class SearchStrategies:
    @staticmethod
    def backtracking(history):
        # 返回到之前的推理点重新开始
        return modify_previous_reasoning(history[-2])
    
    @staticmethod
    def exploring_new_paths(history):
        # 尝试全新的推理角度
        return generate_new_approach()
    
    @staticmethod
    def verification(history):
        # 详细验证当前推理
        return validate_current_reasoning(history[-1])
    
    @staticmethod
    def correction(history):
        # 修正当前推理中的错误
        return fix_reasoning_errors(history[-1])

这种实现方式确保了:

  • 推理过程的可追踪性
  • 搜索策略的灵活性
  • 验证反馈的及时性
  • 强化学习的稳定性

整个过程形成了一个完整的循环:从初始推理开始,通过多轮搜索获得正确推理路径,再通过强化学习持续优化模型的推理能力。

 

第一阶段:学习复杂推理

  1. 初始输入:
  • 数据:医学问题x和标准答案y*
  • 示例:“30岁女性从印度旅行回来,出现发抖、寒战等症状…最严重的并发症是什么?”
  1. 推理搜索过程:

初始尝试:

  • 模型生成初始推理e0:“考虑到患者的旅行史和症状…”
  • 给出初始答案y0:“可能是心脏传导阻滞”
  • 验证器检查:错误,需要继续搜索

搜索循环:
a) 验证策略:

  • 重新审视症状和生命体征
  • 发现:“体温升高、贫血和黄疸提示可能是感染性疾病”
  • 验证器:仍需完善

b) 探索新路径:

  • 关注旅行史和地理因素
  • 推理:“印度是疟疾高发区,症状符合恶性疟疾”
  • 验证器:方向正确,但需要具体并发症

c) 修正策略:

  • 分析疟疾的严重并发症
  • 结论:“脑水肿是最严重的并发症”
  • 验证器:正确!
  1. 整合推理链:
    将成功的搜索过程重构为流畅的推理:
    “让我们分析这个病例…首先,注意到患者有印度旅行史…结合发热、贫血和黄疸症状…考虑到疟疾的可能…最终确定脑水肿是最危险的并发症…”

第二阶段:强化学习增强

  1. 奖励机制设置:
  • 正确答案:1.0分
  • 错误但有推理:0.1分
  • 无推理直接回答:0分
  • 添加KL散度平衡项
  1. 训练过程:
    a) 初始预测:
  • 模型基于第一阶段学到的推理模式生成答案
  • 验证器评估结果
  • 计算初始奖励

b) 策略优化:

  • 根据奖励信号调整模型参数
  • 平衡探索新推理方式和利用已知有效推理
  • 通过KL散度防止过度偏离原始策略

c) 迭代改进:

  • 持续收集推理样本
  • 基于验证器反馈更新策略
  • 逐步提升推理质量

实际效果展示:

输入问题:
“患者,45岁男性,突发胸痛2小时,伴有大汗、恶心。ECG显示ST段抬高…”

模型推理过程:

  1. “首先,这些症状提示急性心血管事件…”
  2. “等等,让我们具体分析ECG改变…”
  3. “考虑到症状组合和ECG表现…”
  4. “经过进一步思考,症状、体征和ECG改变高度提示…”

最终输出:
“这是典型的ST抬高型心肌梗死(STEMI),需要立即进行再灌注治疗。”

这个过程展示了模型如何:

  • 进行多角度思考
  • 不断改进推理
  • 形成系统化的诊断思路
  • 给出准确的医学判断

通过这两个阶段的训练,模型学会了像医生一样进行深入、系统的医学推理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2269786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

07-计算机网络面试实战

07-计算机网络面试实战 计算机网络面试实战 为什么要学习网络相关知识? 对于好一些的公司,计算机基础的内容是肯定要面的,尤其是 30k 以内的工程师,因为目前处于的这个级别肯定是要去写项目的,还没上升到去设计架构的高…

Github - 如何提交一个带有“verified”标识的commit

Github - 如何提交一个带有“verified”标识的commit 前言(Why) 今天在Github上浏览某项目的commit记录的时候发现,有的commit记录带有verified绿色标识,有的带有橘色的Unverified标识,还有的什么都不显示。 既然我是根正苗红的作者(bushi)…

中式美学|中国红电商展台咒语分享

使用工具:千鹿AI 咒语:geometric shape podium,Red background, and rose gold elements on the right side, Chinese New Year atmosphere, simple and clean light luxury scene, minimalist style, minimalist stage design, studio lighting, minim…

中断系统 | 高优先级抢占原理

参考视频 入坑单片机 – [12_2]中断系统 [12_3]底层解析 51内核中断抢占性 如果我们把51单片机的5个中断都打开的话,CPU对与中断的响应是从上到下的。 如果INT0 和TIM0 的中断同时发生,CPU会有执行INT0的服务函数,然后再执行TIM0的函数。…

探寻AI Agent:开启知识图谱自动生成新篇章(17/30)

一、AI Agent 与知识图谱:智能时代的双雄 在当今科技飞速发展的时代,人工智能如同一股汹涌澎湃的浪潮,正以前所未有的力量重塑着我们的世界。而在这股浪潮中,AI Agent 与知识图谱无疑是两颗最为璀璨的明珠,它们各自发挥…

CA系统的设计(CA证书生成,吊销,数字签名生成)

CA系统概述 CA认证系统是一种基于公钥密码基础设施(PKI)的信息安全技术,它可以为网络通信双方提供身份认证、数据加密、数字签名等功能。CA认证系统的核心是证书授权机构(CA),它负责为用户(节点…

phpstudy2018问题(技巧)总结

目录 安装介绍注意操作 问题phpstudy待续、更新中...... 安装 软件下载(新人推荐2018 版本phpstudy ) 官网下载 https://www.xp.cn/download.html 介绍 系统服务------开机自启 非服务模式------开机不自启 搭建好环境, 此时服务器与客户端同时存在 …

USB2.0之描述符(Descriptors)

文章目录 描述符(Descriptors)设备描述符(Device Descriptors)配置描述符(Configuration Descriptors)接口描述符(Interface Descriptors)端点描述符(Endpoint Descriptors)字符串描述符(String Descriptors) 参考资料 描述符(Descriptors) 描述符是设备本身各项信息的集合&…

从授权校验看SpringBoot自动装配

背景 最近需要实现一个对于系统的授权检测功能,即当SpringBoot应用被启动时,需要当前设备是否具有有效的的授权许可信息,若无则直接退出应用。具体的实现方案请继续看下文。 环境 Ruoyi-Vue SpringBoot3 RuoYi-Vue: 🎉 基于Spr…

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…

SpringCloud源码-Ribbon

一、Spring定制化RestTemplate,预留出RestTemplate定制化扩展点 org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration 二、Ribbon定义RestTemplate Ribbon扩展点功能 org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguratio…

目标检测,语义分割标注工具--labelimg labelme

1 labelimg labelimg可以用来标注目标检测的数据集, 提供多种格式的输出, 如Pascal Voc, YOLO等。 1.1 安装 pip install labelimg1.2 使用 命令行直接输入labelimg即可打开软件主界面进行操作。 使用非常简单, 不做过细的介绍&#xff0…

pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】

文章目录 效果图一、下载软件二、安装运行⚠️注意事项:1、前往 系统设置–> 隐私与安全性 –> 完整磁盘访问权限,中允许终端:2、安装运行【ParallelsDesktop-20.1.2-55742.dmg】,运行【安装.app】3、将【Patch】文件夹拖到…

windows11安装软件时选择文件路径只有桌面及子文件夹怎么解决方法

现象:当桌面文件夹、文件总数超过一定数量时(具体个数不详,个人猜测可能跟系统架构或内存有关)点击应用程序中“浏览”按钮时,只能看到桌面文件夹,其他盘符看不到。一个巨硬愚蠢的bug。定期清理下桌面吧,习惯下载到桌面…

SpringCloud源码-openFeign

LoadBalancer默认只有nacos服务发现器 openFeign与springcloud loadbalancer的结合点 openFeign通过spring cloud loadbalancer进行负载均衡,spring cloud loadbalancer通过discovery client获取nacos的机器列表,然后底层进行负载均衡。

开源架构中的数据库选择优化版

上一篇文章推荐: 开源架构学习指南:文档与资源的智慧锦囊(New) 我管理的社区推荐:【青云交社区】和【架构师社区】 推荐技术圈福利社群:点击快速加入 开源架构中的数据库选择优化版 一、引言二、关系型开源…

Listwise 排序之 LambdaRank:最大化 NDCG 的秘诀

Listwise系列相关文章(置顶) 1.Listwise 模型时间线梳理 2.Listwise 排序之 LambdaRank:最大化 NDCG 的秘诀 引言 LambdaRank 是一种用于排序学习(Learning to Rank, LTR)的模型,特别适用于推荐系统和信息…

汉化SecureCRT9.1

我个人觉得,SecureCRT是最好用的ssh远程工具软件,但是这个软件没有中文版本,我这种英文水平糟糕的人用起来,略有不便,因为一直没有在网上找到合适的汉化版本,于是有自己做一个汉化版本的计划。 前几日&…

我在广州学 Mysql 系列——插入、更新与删除数据详解以及实例

ℹ️大家好,我是练小杰,今天是2024年12月30号,明天就是2024最后一天了!! 本文将讲述MYSQL数据库的插入,更新以及删除数据~~ 复习:👉【有关Mysql数据库的单表,多表查询的练…

HarmonyOS Next ArkUI ListListItem笔记

学习目标: List和ListItem的使用 学习内容: import { NewsInfo, newsInfoList } from ../viewmodel/NewsInfoclass DividerTmp {strokeWidth: Length 1startMargin: Length 60endMargin: Length 10color: ResourceColor #ffe9f0f0constructor(str…