DeepSeek 微調實踐:DeepSeek-R1 大模型基于 MS-Swift 框架部署 / 推理 / 微調實踐大全

注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)【陳敬雷編著】【清華大學出版社】

GPT多模態大模型與AI Agent智能體書籍本章配套視頻課程【陳敬雷】

文章目錄

  • GPT多模態大模型與AI Agent智能體系列十五
    • DeepSeek 微調實踐:DeepSeek-R1 大模型基于 MS-Swift 框架部署 / 推理 / 微調實踐大全
    • 一、引言
    • 二、MS - Swift框架簡介
    • 三、DeepSeek - R1模型簡介
    • 四、DeepSeek - R1部署實踐
      • 4.1 環境準備
      • 4.2 安裝swift
      • 4.3 vllm加速
      • 4.4 模型下載
      • 4.5 模型部署
    • 五、DeepSeek - R1推理實踐
    • 六、DeepSeek - R1微調實踐
      • 6.1 數據集準備
      • 6.2 模型微調訓練
      • 6.3 推理訓練后權重文件
      • 6.4 LoRA合并&推理訓練后的權重文件
    • 七、性能優化與評估
      • 7.1 deepseek硬件優化
      • 7.2 推理性能優化
      • 7.3 微調性能優化
      • 7.4 性能評估
      • 更多技術內容
  • 總結

GPT多模態大模型與AI Agent智能體系列十五

DeepSeek 微調實踐:DeepSeek-R1 大模型基于 MS-Swift 框架部署 / 推理 / 微調實踐大全

一、引言

隨著大語言模型(LLM)在自然語言處理(NLP)領域的廣泛應用,如何高效部署、推理和微調這些模型成為了一個重要的研究方向。DeepSeek - R1作為一款在推理能力方面表現突出的大型語言模型,憑借其獨特的架構設計與先進的訓練技術,在各類推理任務中脫穎而出。而MS - Swift框架則為大模型的高效部署提供了全面且強大的支持,兩者結合,為開發者和研究人員提供了極具潛力的技術方案。本文將深入且細致地闡述基于MS - Swift框架的DeepSeek - R1模型在部署、推理和微調方面的實踐操作,幫助大家快速掌握并熟練運用這一技術組合,從而在自然語言處理相關項目中充分發揮其優勢。

二、MS - Swift框架簡介

MS - Swift是一款專為大模型部署而精心打造的高效框架,具備出色的兼容性與豐富的功能特性。在模型類型支持上,無論是專注于文本處理的純文本模型,還是融合文本、圖像、音頻等多種信息模態的多模態模型,亦或是擅長文本序列分類任務的序列分類模型,MS - Swift均能為其提供適配的部署環境。另外在功能層面,MS - Swift框架提供了基于Gradio的Web UI。Gradio作為開源的界面構建工具,能夠以直觀、便捷的方式搭建起用戶與模型交互的可視化界面,即便非專業開發人員也能輕松上手,通過簡單操作與模型進行對話、輸入指令等。

三、DeepSeek - R1模型簡介

DeepSeek - R1是一款專為提升推理能力而設計的大型語言模型。它在自然語言處理領域,尤其是復雜推理任務中表現出色,這得益于其獨特的訓練方式和優化策略。DeepSeek - R1采用了強化學習技術,通過與環境的交互不斷優化模型的推理能力,使其能夠在面對復雜的邏輯推理和多步驟問題時,生成準確且連貫的答案。此外,為了進一步提升模型的實用性和效率,DeepSeek - R1還結合了蒸餾技術,將大型模型的知識和能力遷移到更小的模型中,從而在保持推理性能的同時,顯著降低了資源消耗。

DeepSeek - R1提供了多種蒸餾版本,以滿足不同用戶的需求。具體信息如下:
[此處插入各蒸餾版本相關參數、性能特點等圖片描述]

DeepSeek - R1 - Distill - Qwen - 7B是一款在資源受限環境下具有突出優勢的蒸餾模型。它既不像一些小型模型那樣對硬件資源要求極低但推理性能有限,也不像大型模型那樣對硬件資源需求較高但能在復雜場景中展現卓越的推理能力。它以適中的參數規模,在保持較為出色的推理性能的同時,能很好地適應普通個人電腦、小型服務器等資源受限的設備,為這些設備提供了高效推理的解決方案,是平衡資源與性能的最佳選擇,能夠滿足大多數對推理效率有一定要求且受限于硬件資源的應用場景。而其他DeepSeek - R1 - Distill - Qwen - 14B和DeepSeek - R1 - Distill - Qwen - 32B等更大參數的蒸餾模型,在推理能力上表現更出色,更適合對性能要求較高的復雜場景。

四、DeepSeek - R1部署實踐

4.1 環境準備

在部署DeepSeek - R1模型之前,需要準備合適的硬件和軟件環境:
操作系統選用Ubuntu 22.04,其穩定性和豐富的軟件資源,為AI開發提供了良好的基礎。Python版本選擇3.10,它在性能和兼容性上表現出色,廣泛應用于各類AI項目。同時,安裝PyTorch 2.1.2,作為深度學習的核心框架,PyTorch為模型的運行提供了高效的計算庫和靈活的編程接口。此外,還需安裝Cuda 11.8,它能充分發揮NVIDIA GPU的并行計算能力,加速模型的訓練與推理過程。

4.2 安裝swift

# pip install git+https://github.com/modelscope/ms - swift.git
git clone https://github.com/modelscope/ms - swift.git
cd ms - swift
pip install -e.

下載完成如下:[此處插入下載完成后的相關截圖描述]

4.3 vllm加速

vLLM是一個高性能、靈活且易于部署的大語言模型推理框架,適用于需要高效處理大模型的場景。它通過優化的內存管理和高效的調度算法,顯著提升了推理效率

# 臨時指定清華源安裝(推薦)
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple
# 臨時指定阿里源安裝(備用)pip install vllm -i https://mirrors.aliyun.com/pypi/simple

安裝完成如下:[此處插入安裝完成后的相關截圖描述]

4.4 模型下載

DeepSeek - R1的蒸餾版本可以通過modelscope或者Hugging Face下載。以下以DeepSeek - R1 - Distill - Qwen - 7B為例:
使用modelscope中的snapshot_download函數下載模型(提前安裝modelscope :pip install modelscope)。第一個參數為模型名稱,參數cache_dir用于指定模型的下載路徑。在/root/autodl - tmp路徑下新建download.ipynb文件,并在其中輸入以下內容:

from modelscope import snapshot_download
model_dir = snapshot_download('deepseek - ai/DeepSeek - R1 - Distill - Qwen - 7B', cache_dir='/root/autodl - tmp', revision='master')

運行代碼執行下載,如下:[此處插入模型下載過程及完成后的截圖描述]

4.5 模型部署

使用MS - Swift框架,可以通過以下命令啟動模型服務:

CUDA_VISIBLE_DEVICES=0 swift deploy \--model /root/autodl - tmp/deepseek - ai/DeepSeek - R1 - Distill - Qwen - 7B \--infer_backend vllm

模型部署啟動成功如下:[此處插入模型部署成功后的相關截圖描述]

服務啟動后,可以通過HTTP API訪問模型。

我們可以使用cli命令腳本調用模型服務,在終端中輸入以下命令:

curl http://localhost:8000/v1/chat/completions \
-H "Content - Type: application/json" \
-d '{
"model": "DeepSeek - R1 - Distill - Qwen - 7B",
"messages": [{"role": "user", "content": "用最精煉的語言介紹一下AI大模型"}],
"temperature": 0
}'

模型API返回如下:

{"model":"DeepSeek - R1 - Distill - Qwen - 7B","choices":[{"index":0,"message":{"role":"assistant","content":"<think>\n好的,我現在要介紹AI大模型。首先,我需要明確什么是AI大模型。AI大模型通常指的是像GPT、BERT這樣的大型預訓練模型,它們通過大量數據訓練,能夠處理復雜的自然語言任務。\n\n接下來,我應該解釋這些模型的特點,比如它們的規模大、參數多,能夠處理多種語言和任務。然后,說明它們的應用領域,比如文本生成、信息檢索、對話系統等。\n\n最后,要提到這些模型對社會的積極影響,比如推動創新、提高效率,同時也要注意潛在的挑戰,如隱私和倫理問題。\n\n現在,把這些點組織成一個連貫的介紹,語言要簡潔明了,適合快速理解。\n</think>\n\nAI大模型是指經過大規模預訓練的高級人工智能模型,具備處理復雜語言任務的能力,廣泛應用于文本生成、信息檢索和對話系統等領域,推動創新和效率提升,同時需注意隱私和倫理挑戰。","tool_calls":null},"finish_reason":"stop","logprobs":null}],"usage":{"prompt_tokens":14,"completion_tokens":194,"total_tokens":208},"id":"61a7a02a832d4dd5ba6dd185a9fa417d","object":"chat.completion","created":1741687627}

部署推理資源消耗情況如下(28G左右):[此處插入資源消耗相關截圖描述]

五、DeepSeek - R1推理實踐

推理是DeepSeek - R1的核心應用場景之一。以下是一個基于MS - Swift框架的推理代碼示例:

CUDA_VISIBLE_DEVICES=0 swift infer \--model /root/autodl - tmp/deepseek - ai/DeepSeek - R1 - Distill - Qwen - 7B \--stream true \--infer_backend vllm \--max_new_tokens 2048

腳本執行成功,推理效果如下:[此處插入推理結果相關截圖描述]

六、DeepSeek - R1微調實踐

微調是提升DeepSeek - R1模型性能的重要手段。以下是一個基于MS - Swift框架的微調步驟:

6.1 數據集準備

為對DeepSeek - R1 - Distill - Qwen - 7B模型開展微調,找了一份有趣的數據集(https://github.com/KMnO4 - zx/huanhuan - chat),內容如下:[此處插入數據集內容相關截圖描述]

6.2 模型微調訓練

以下是一個基于MS - Swift框架的lora微調代碼示例:

CUDA_VISIBLE_DEVICES=0 \
swift sft \--model '/root/autodl - tmp/deepseek - ai/DeepSeek - R1 - Distill - Qwen - 7B' \--train_type lora \--dataset '/root/autodl - tmp/datasets/huanhuan.json' \--num_train_epochs 1 \--per_device_train_batch_size 1 \--learning_rate 1e - 4 \--lora_rank 8 \--lora_alpha 32 \--gradient_accumulation_steps 16 \--eval_steps 100 \--save_steps 100 \--save_total_limit 2 \
--logging_steps 5 

參數說明:

  • –model:指定預訓練模型的名稱或路徑
  • –train_type lora :指定訓練類型為LoRA(Low - Rank Adaptation),一種高效的微調方法
  • –dataset :指定訓練數據集的名稱或路徑
  • –num_train_epochs:指定訓練的總輪數(epoch),這里設置為1輪
  • –per_device_train_batch_size:指定每個設備(GPU)的訓練批次大小,這里設置為1
  • –learning_rate:設置學習率,這里為1e - 4
  • –lora_rank:設置LoRA的秩(rank),用于控制LoRA層的參數數量,這里設置為8
  • –lora_alpha:設置LoRA的縮放因子alpha,用于控制LoRA層的縮放比例,這里設置為32
  • –gradient_accumulation_steps:設置梯度累積步數,用于在小批次情況下模擬大批次訓練,這里設置為16步
  • –eval_steps:每隔多少步進行一次評估,這里設置為每100步評估一次
  • –save_steps:每隔多少步保存一次模型,這里設置為每100步保存一次
  • –save_total_limit:保存的模型總數限制,這里最多保存2個模型
  • –logging_steps:每隔多少步記錄一次日志,這里設置為每5步記錄一次
  • –model_author swift:指定模型作者,這里為“swift”
  • –model_name swift - robot:指定保存的模型名稱,這里為“swift - robot”

微調訓練結果如下:[此處插入微調訓練過程中的指標、日志等相關截圖描述]

微調后生成的新的checkpoint權重文件如下:
/root/autodl - tmp/output/DeepSeek - R1 - Distill - Qwen - 7B/v0 - 20250312 - 093007/checkpoint - 230

在微調過程中,建議使用結構化的提示數據,并通過拒絕采樣生成更多訓練樣本。

6.3 推理訓練后權重文件

直接加載微調后的權重文件,快速驗證微調效果是否生效。

CUDA_VISIBLE_DEVICES=0 \
swift infer \--adapters /root/autodl - tmp/output/DeepSeek - R1 - Distill - Qwen - 7B/v0 - 20250312 - 093007/checkpoint - 230 \--stream true \--temperature 0 \
--max_new_tokens 2048

微調效果:[此處插入微調后推理結果相關截圖描述]

微調訓練后的權重文件實際上既包含了主模型的通用知識,也包含了微調后的特定知識,可以通過上面的方式快速查看微調效果。

6.4 LoRA合并&推理訓練后的權重文件

不僅加載微調后的權重文件,還通過LoRA合并進一步優化推理結果。

# merge - lora and use vLLM for inference acceleration
CUDA_VISIBLE_DEVICES=0 \
swift infer \--adapters /root/autodl - tmp/output/DeepSeek - R1 - Distill - Qwen - 7B/v0 - 20250312 - 093007/checkpoint - 230 \--stream true \--merge_lora true \--infer_backend vllm \--max_model_len 8192 \--temperature 0 \
--max_new_tokens 2048

即可得到新的模型權重文件:
/root/autodl - tmp/output/DeepSeek - R1 - Distill - Qwen - 7B/v0 - 20250312 - 093007/checkpoint - 230 - merged

七、性能優化與評估

7.1 deepseek硬件優化

對于非常小的餾模型(如1.5B),只需要GTX 1650、RTX 3060
對于較小的蒸餾模型(如7B),單卡V100或A100即可滿足需求。
對于較大的模型(如14B),推薦使用多卡并行。

7.2 推理性能優化

使用MS - Swift框架的vllm模式可以顯著提升推理速度。
在推理時,可以通過調整max_new_tokens和temperature參數來優化生成結果。

7.3 微調性能優化

在微調時,建議增加epoch次數或擴充數據集。
如果顯存不足,可以減小batch_size或增大gradient_accumulation_steps。

7.4 性能評估

使用標準的推理基準測試(如AIME 2024)評估模型性能。
比較不同蒸餾版本的性能,選擇最適合的模型。

更多技術內容

更多技術內容可參見
《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)【陳敬雷編著】【清華大學出版社】書籍。
更多的技術交流和探討也歡迎加我個人微信chenjinglei66。

總結

此文章有對應的配套新書教材和視頻:

【配套新書教材】
《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)【陳敬雷編著】【清華大學出版社】
新書特色:《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)是一本2025年清華大學出版社出版的圖書,作者是陳敬雷,本書深入探討了GPT多模態大模型與AI Agent智能體的技術原理及其在企業中的應用落地。
全書共8章,從大模型技術原理切入,逐步深入大模型訓練及微調,還介紹了眾多國內外主流大模型。LangChain技術、RAG檢索增強生成、多模態大模型等均有深入講解。對AI Agent智能體,從定義、原理到主流框架也都進行了深入講解。在企業應用落地方面,本書提供了豐富的案例分析,如基于大模型的對話式推薦系統、多模態搜索、NL2SQL數據即席查詢、智能客服對話機器人、多模態數字人,以及多模態具身智能等。這些案例不僅展示了大模型技術的實際應用,也為讀者提供了寶貴的實踐經驗。
本書適合對大模型、多模態技術及AI Agent感興趣的讀者閱讀,也特別適合作為高等院校本科生和研究生的教材或參考書。書中內容豐富、系統,既有理論知識的深入講解,也有大量的實踐案例和代碼示例,能夠幫助學生在掌握理論知識的同時,培養實際操作能力和解決問題的能力。通過閱讀本書,讀者將能夠更好地理解大模型技術的前沿發展,并將其應用于實際工作中,推動人工智能技術的進步和創新。

【配套視頻】

GPT多模態大模型與AI Agent智能體書籍本章配套視頻 - 第1章 大模型技術原理【陳敬雷】
視頻特色: 前沿技術深度解析,把握行業脈搏
揭秘 DeepSeek、Sora、GPT-4 等多模態大模型的技術底層邏輯,詳解 Transformer 架構如何突破傳統神經網絡局限,實現長距離依賴捕捉與跨模態信息融合。
對比編碼預訓練(BERT)、解碼預訓練(GPT 系列)及編解碼架構(BART、T5)的技術差異,掌握大模型從 “理解” 到 “生成” 的核心邏輯。
實戰驅動,掌握大模型開發全流程
提示學習與指令微調:通過 Zero-shot、Few-shot 等案例,演示如何用提示詞激活大模型潛能,結合 LoRA 輕量化微調技術,實現廣告生成、文本摘要等場景落地(附 ChatGLM3-6B 微調實戰代碼)。
人類反饋強化學習(RLHF):拆解 PPO 算法原理,通過智譜 AI 等案例,掌握如何用人類偏好優化模型輸出,提升對話系統的安全性與實用性。
智能涌現與 AGI 前瞻,搶占技術高地
解析大模型 “智能涌現” 現象(如上下文學習、思維鏈推理),理解為何參數規模突破閾值后,模型能實現從 “量變” 到 “質變” 的能力躍升。
前瞻通用人工智能(AGI)發展趨勢,探討多模態模型(如 Sora)如何推動 AI 從 “單一任務” 向 “類人智能” 進化,提前布局未來技術賽道。

上一篇:《GPT多模態大模型與AI Agent智能體》系列一》大模型技術原理 - 大模型技術的起源、思想
下一篇:DeepSeek大模型技術系列五》DeepSeek大模型基礎設施全解析:支撐萬億參數模型的幕后英雄

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90957.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90957.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90957.shtml

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

相關文章

python基礎知識pip配置pip.conf文件

pip.conf一、 INI格式二、 級別三、 文件位置四、 加載順序五、 常用一、 INI格式 配置文件可以更改pip命令行選項的默認值&#xff0c;這個文件是使用INI格式編寫的。 INI格式 主要包含三個內容&#xff1a;1.節section 2.鍵值對 3.注釋 [section1] key1 value1 \\注釋 key2…

深入理解 Java JVM

文章目錄&#x1f4d5;1. JVM簡介&#x1f4d5;2. JVM運行流程&#x1f4d5;3. JVM運行時數據區&#x1f4d5;4. JVM類加載??4.1 類加載過程??4.2 雙親委派模型??4.3 破壞雙親委派模型&#x1f4d5;5. JVM垃圾回收機制&#xff08;GC機制&#xff09;??5.1 判斷死亡對象…

Linux內核高效之道:Slab分配器與task_struct緩存管理

前言 在Linux內核中&#xff0c;進程創建與銷毀是最頻繁的操作之一。想象一下&#xff1a;當系統每秒需要處理成百上千次fork()和exit()調用時&#xff0c;如何保證task_struct&#xff08;進程描述符&#xff09;的分配與釋放既快速又不產生內存碎片&#xff1f;這就是Slab分配…

雙esp8266-01之間UDP透傳傳輸,自定義協議

使用AT模式的透傳&#xff0c;串口打印的數據包含pd1,4,數據打印的數據不是直接將數據打印出來&#xff0c;包含了pd1,4,特殊字符&#xff0c;針對想要直接開機直接透傳&#xff0c;打印數據且按照自主協議幀頭的功能進行開發。1.server程序&#xff1a;/*************SERVER**…

BGP 路由優選屬性(7)【MED】官方考試綜合實驗題【bgp】【acl】【ip-prefix】【route-policy】【icmp 環路】精講

目錄 一、MED 屬性介紹 二、實驗 2.1 實驗目的 2.2 拓撲圖 2.2 實驗說明 2.3 配置腳本 2.4 驗證配置 2.5 問題分析 2.7 題目需求解析 2.8 場景 1&#xff1a;只允許在 AS12 上操作 2.9 場景 2&#xff1a;只允許在 AS34 上操作 正文 一、MED 屬性介紹 MED 全稱 mu…

html-初級標簽

一.瀏覽器能識別的標簽 1.1 head標簽里的編碼和title <head><meta charset"UTF-8"><title>Title</title> </head>1.2 標題 <body><h1>Welcome to my website</h1><h2>Welcome to my website</h2><…

【八股消消樂】Kafka集群 full GC 解決方案

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一個正在變禿、變強的文藝傾年。 &#x1f514;本專欄《八股消消樂》旨在記錄個人所背的八股文&#xff0c;包括Java/Go開發、Vue開發、系統架構、大模型開發、具身智能、機器學習、深度學習、力扣算法等相關知識點&#xff…

《Java Web程序設計》實驗報告二 學習使用HTML標簽、表格、表單

目 錄 一、實驗目的 二、實驗環境 三、實驗步驟和內容 1、小組成員分工&#xff08;共計4人&#xff09; 2、實驗方案 3、實驗結果與分析 4、項目任務評價 四、遇到的問題和解決方法 五、實驗總結 一、實驗目的 1、HTML基礎知識、基本概念 2、使用HTML標簽、表格進行…

jenkins使用Jenkinsfile部署springboot+docker項目

文章目錄前言一、前期準備二、編輯構建文件二、Jenkins構建總結前言 前面使用Jenkinsfile部署了前端vue項目&#xff0c;接著學習Jenkinsfile部署springboot項目。 一、前期準備 已經安裝好centos,并且安裝了jenkins和docker。本地新建springboot并上傳到gitee上。 二、編輯…

使用ESM3蛋白質語言模型進行快速大規模結構預測

文章目錄ESM3介紹ESM3在線使用本地使用api批量預測ESM相較于AlphaFold的優勢ESM3介紹 ESM3是由EvolutionaryScale&#xff08;前Meta團隊&#xff09;開發的一款蛋白質大語言模型&#xff0c;于2025年以《用語言模型模擬 5 億年的進化》為題正式發表在Science上 文章鏈接: htt…

PostgreSQL 時間/日期管理詳解

PostgreSQL 時間/日期管理詳解 引言 PostgreSQL是一款功能強大的開源關系型數據庫管理系統&#xff0c;在時間/日期管理方面具有獨特的優勢。本文將詳細介紹PostgreSQL中時間/日期數據類型及其相關功能&#xff0c;幫助讀者更好地理解和應用時間/日期管理。 時間/日期數據類型 …

Agent篇

Agent包含哪些模塊&#xff0c;實現了什么功能Agent 就像一個多功能的接口&#xff0c;它能夠接觸并使用一套工具。根據用戶的輸入&#xff0c;Agent會規劃出一條解決用戶問題的路線&#xff0c;決定其中需要調用哪些工具&#xff0c;并調用這些工具。Agent 大語言模型規劃記憶…

利用 MySQL 進行數據清洗

利用 MySQL 進行數據清洗是數據預處理的重要環節&#xff0c;以下是常見的數據清洗操作及對應 SQL 示例&#xff1a;1. 去除重復數據使用 ROW_NUMBER() 或 GROUP BY 識別并刪除重復記錄。-- 查找重復記錄&#xff08;以 user_id 和 email 為例&#xff09; WITH Duplicates AS …

【MySQL筆記】事務的ACID特性與隔離級別

目錄1. 什么是事務&#xff1f;2. 事務的ACID特性&#xff08;重要&#xff09;3. 事務控制語法4. 隔離級別與并發問題1. 什么是事務&#xff1f; 事務&#xff08;Transaction&#xff09;是由一組SQL語句組成的邏輯單元&#xff0c;這些操作要么全部成功&#xff0c;要么全部…

Mock 數據的生成與使用全景詳解

Mock 數據的生成與使用全景詳解 在后端開發過程中,真實數據往往受限于業務進度、隱私保護或接口未完成等因素,無法及時獲取。這時,Mock數據(模擬數據)就成為開發、測試、聯調不可或缺的利器。本文將從Mock數據的意義、常用場景、主流工具、實戰案例到最佳實踐,帶你全面掌…

HTML 標題標簽

需求&#xff1a;在網頁顯示六級標題標簽。代碼&#xff1a;//需求&#xff1a;在網頁顯示六級標題標簽。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><h1>一級標題&l…

(限免!!!)全國青少年信息素養大賽-算法創意實踐挑戰賽小學組復賽(代碼版)

選擇題部分在 C 中&#xff0c;以下代表布爾類型的是&#xff08;  &#xff09;選項&#xff1a;A. double B. bool C. int D. char答案&#xff1a;B解析&#xff1a;C 中布爾類型的關鍵字為bool&#xff0c;用于存儲邏輯值true或false。執行以下程序&#xff0c;輸出的…

編譯器優化——LLVM IR,零基礎入門

編譯器優化——LLVM IR&#xff0c;零基礎入門 對于大多數C開發者而言&#xff0c;我們的代碼從人類可讀的文本到機器可執行的二進制文件&#xff0c;中間經歷的過程如同一個黑箱。我們依賴編譯器&#xff08;如GCC, Clang, MSVC&#xff09;來完成這項復雜的轉換。然而&#x…

react中為啥使用剪頭函數

在 React 中使用箭頭函數&#xff08;>&#xff09;主要有以下幾個原因&#xff1a;1. 自動綁定 this傳統函數的問題&#xff1a;在類組件中&#xff0c;普通函數的this指向會根據調用方式變化&#xff0c;導致在事件處理函數中無法正確訪問組件實例&#xff08;this為undef…

JavaSE-多態

多態的概念在完成某個行為時&#xff0c;不同的對象在完成時會呈現出不同的狀態。比如&#xff1a;動物都會吃飯&#xff0c;而貓和狗都是動物&#xff0c;貓在完成吃飯行為時吃貓糧&#xff0c;狗在完成吃飯行為時吃狗糧&#xff0c;貓和狗都會叫&#xff0c;狗在完成這個行為…