HuatuoGPT-o1:基于40K可驗證醫學問題的兩階段復雜推理增強框架,通過驗證器引導和強化學習提升醫學模型的推理能力

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_penaltyppo = 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:@staticmethoddef backtracking(history):# 返回到之前的推理點重新開始return modify_previous_reasoning(history[-2])@staticmethoddef exploring_new_paths(history):# 嘗試全新的推理角度return generate_new_approach()@staticmethoddef verification(history):# 詳細驗證當前推理return validate_current_reasoning(history[-1])@staticmethoddef 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.pswp.cn/web/65197.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65197.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65197.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

量子機器學習:當量子計算遇上人工智能,顛覆即將來臨?

在當今科技飛速發展的時代,量子計算與人工智能宛如兩顆璀璨的星辰,各自在不同的蒼穹閃耀,正以前所未有的速度重塑著世界的面貌。當這兩大前沿領域相互碰撞、深度融合,量子機器學習應運而生,猶如一場科技風暴在學界與產…

硬件基礎知識筆記(2)——二級管、三極管、MOS管

Part 2 二級管、三極管、MOS管 1、二級管1.1肖特基二極管和硅二極管選型比較1.2到底是什么決定了二極管的最高工作頻率?1.3二極管結電容和反向恢復時間都是怎么來的1.4肖特基二極管的工作原理1.5為什么要用肖特基二極管續流? 2、三極管2.1三極管工作原理…

vue3-dom-diff算法

vue3diff算法 什么是vue3diff算法 Vue3中的diff算法是一種用于比較虛擬DOM樹之間差異的算法,其目的是為了高效地更新真實DOM,減少不必要的重渲染 主要過程 整個過程主要分為以下五步 前置預處理后置預處理僅處理新增僅處理后置處理包含新增、卸載、…

Dell服務器升級ubuntu 22.04失敗解決

ubuntu系統原版本20.04,服務器dell T40. 執行apt update后,再執行apt upgrade。 apt update執行成功,但apt upgrade執行中斷,提示如下: Checking package manager Reading package lists... Done Building dependen…

【C++】B2093 查找特定的值

博客主頁: [小????????] 本文專欄: C 文章目錄 💯前言💯題目描述輸入格式輸出格式輸入輸出示例 💯題目分析與解題思路💯代碼實現與對比分析我的實現代碼老師的實現代碼詳細對比與分析1. 數組的定義方式2. …

計算機網絡:網絡層知識點及習題(一)

網課資源: 湖科大教書匠 1、概述 網絡層實現主機到主機的傳輸,主要有分組轉發和路由選擇兩大功能 路由選擇處理機得出路由表,路由表再生成轉發表,從而實現分組從不同的端口轉發 網絡層向上層提供的兩種服務:面向連接…

CDP集群安全指南-動態數據加密

[〇]關于本文 集群的動態數據加密主要指的是加密通過網絡協議傳輸的數據,防止數據在傳輸的過程中被竊取。由于大數據涉及的主機及服務眾多。你需要更具集群的實際環境來評估需要為哪些環節實施動態加密。 這里介紹一種通過Cloudera Manager 的Auto-TLS功能來為整個…

Swift Protocols(協議)、Extensions(擴展)、Error Handling(錯誤處理)、Generics(泛型)

最近在學習 Swift,總結相關知識 1. Protocols(協議) 1.1 協議的定義和實現 協議(protocol) 是一種定義方法和屬性的藍圖,任何類、結構體或枚舉都可以遵循協議。遵循協議后,需要實現協議中定義…

uni-app開發-習慣養成小程序/app介紹

目錄 一:功能概述 二:功能部分代碼和截圖 一:功能概述 1 習慣目標生成 創建習慣:用戶可以添加新的習慣目標,每個習慣可以包含名稱、描述、圖標、目標天數。 關聯習慣完成:用戶通過設定達成目標以后,生成習慣養成記錄。 2 習慣打卡 簡單快捷的打卡:提供一個直觀的界面…

【HTML】Day02

【HTML】Day02 1. 列表標簽1.1 無序列表1.2 有序列表1.3 定義列表 2. 表格標簽2.1 合并單元格 3. 表單標簽3.1 input標簽基本使用3.2 上傳多個文件 4. 下拉菜單、文本域5. label標簽6. 按鈕button7. div與span、字符實體字符實體 1. 列表標簽 作用:布局內容排列整齊…

基于Spring Boot的車輛違章信息管理系統(LW+源碼+講解)

專注于大學生項目實戰開發,講解,畢業答疑輔導,歡迎高校老師/同行前輩交流合作?。 技術范圍:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容:…

Git - 記錄一次由于少輸入了一個命令導致的更改丟失

Git - 記錄一次由于少輸入了一個參數導致的更改丟失 前言 某晚我激情開發了幾個小時,中途沒有進行commit存檔。準備睡覺時,我想創建一個新的分支并將今晚所有更改提交到新分支上(似乎應該開發時候就創建?)。 然后因…

探索Rust在Web開發中的實際應用

近年來,Rust語言因其高性能、內存安全性和強大的工具鏈支持而迅速崛起。在Web開發領域,Rust提供了一套高效、現代化的框架和工具,使得開發者能夠構建快速、安全的Web應用程序。在本文中,我們將深入探討如何使用Rust進行Web開發&am…

Apache Celeborn 在B站的生產實踐

背景介紹 Shuffle 演進 隨著B站業務的飛速發展,數據規模呈指數級增長,計算集群也逐步從單機房擴展到多機房部署模式。多個業務線依托大數據平臺驅動核心業務,大數據系統的高效性與穩定性成為公司業務發展的重要基石。如圖1,目前在大數據基礎架構下,我們主要采用 Spark、Fl…

第29天:Web開發-PHP應用弱類型脆弱Hash加密Bool類型Array數組函數轉換比較

#知識點 1、安全開發-原生PHP-弱類型脆弱 2、安全開發-原生PHP-函數&數據類型 3、安全開發-原生PHP-代碼審計案例 一、PHP弱類型對比 1、 和 兩個等號是弱比較,使用進行對比的時候,php解析器就會做隱式類型轉換,如果兩個值的類型不相等就…

Kafaka安裝與啟動教程

1.下載 先去官網Apache Kafka可以查看到每個版本的發布時間。選擇你要安裝的版本。 然后進入linux建立要存放的文件夾,用wget命令下載 2.安裝 先解壓縮: tar -xvzf kafka_2.12-3.5.1.tgz -C ../ 3.配置文件 修改server.properties: cd .…

回歸預測 | MATLAB實ELM-Adaboost多輸入單輸出回歸預測

回歸預測 | MATLAB實ELM-Adaboost多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實ELM-Adaboost多輸入單輸出回歸預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 一、極限學習機(ELM) 極限學習機是一種單層前饋神經網絡,具有訓練速…

1、pycharm、python下載與安裝

1、去官網下載pycharm 官網:https://www.jetbrains.com/pycharm/download/?sectionwindows 2、在等待期間,去下載python 進入官網地址:https://www.python.org/downloads/windows/ 3、安裝pycharm 桌面會出現快捷方式 4、安裝python…

GESP2023年12月認證C++五級( 第三部分編程題(1)小楊的幸運數)

參考程序&#xff1a; #include <iostream> #include <cmath> using namespace std;int nextPerfectSquare(int a) {int sqrt_a (int)sqrt(a);if (sqrt_a * sqrt_a < a) {sqrt_a; // 如果 sqrt(a) 的平方小于 a&#xff0c;那么就需要加 1&#xff0c;找到下…

25年1月更新。Windows 上搭建 Python 開發環境:Python + PyCharm 安裝全攻略(文中有安裝包不用官網下載)

引言 隨著 Python 在數據科學、Web 開發、自動化腳本等多個領域的廣泛應用&#xff0c;越來越多的開發者選擇它作為首選編程語言。而 PyCharm 作為一個功能強大的集成開發環境&#xff08;IDE&#xff09;&#xff0c;為 Python 開發者提供了極大的便利。本文將詳細介紹如何在 …