UNBIASED WATERMARK:大語言模型的無偏差水印

摘要

1.背景與問題提出

大語言模型(LLMs)的快速發展引發了對其可能被濫用的擔憂。為降低這種風險,將水印技術融入大語言模型,以實現對模型輸出的追蹤和溯源成為一種思路。而此前研究認為,水印強度和模型輸出質量之間存在權衡(即增強水印可能會降低輸出質量,反之亦然)。

2.核心研究發現

研究表明,通過恰當的實現方式,能夠在不影響模型輸出概率分布的情況下整合水印,這類水印被稱為 “無偏差水印(unbiased watermark)”。

3.無偏差水印的影響與意義

  1. 用戶感知層面:用戶無法辨別服務提供商是否在模型中加入了水印,這在保護知識產權等場景下,既實現了追蹤目的,又不影響用戶使用體驗。
  2. 模型性能層面:水印的存在不會損害模型在下游任務中的性能,保障了語言模型的整體實用性。
  3. AI 發展層面:為負責任的 AI 發展相關討論做出貢獻,表明無偏差水印可作為一種有效手段,在不犧牲輸出質量的前提下,對模型輸出進行追蹤和溯源。

第一章 介紹

近年來,大型語言模型(LLMs)已成為各類任務中不可或缺的工具,涵蓋文本生成、翻譯、摘要生成等。隨著大型語言模型濫用情況(如抄襲)不斷加劇,追蹤機器生成文本的使用情況變得愈發重要。一種可行的監控大型語言模型使用的方法是水印技術,它能在生成的文本中嵌入難以察覺的信息,從而實現對模型潛在濫用情況的高效檢測與追蹤。

水印技術有多重用途,比如可在生成的文本中嵌入所有權信息,以保護模型的知識產權。此外,通過監控模型的使用場景以及是否被誤用或濫用,它還有助于減輕大型語言模型可能帶來的潛在危害。

一種好的水印方法,得既不影響語言模型正常用,也不能讓生成的文本質量下降。不過,大家普遍覺得,水印的強度和輸出文本的質量之間,肯定得做個權衡。比如說,Kirchenbauer 等人最近的研究里,搞了個方法,給隨機選的一組 “綠色” 標記的對數概率(logits)加了點東西。通過調整 “對數概率調整的幅度”,他們就展示出,水印強度和文本質量之間是有這種此消彼長關系的。

我們最主要的貢獻,就是挑戰這種傳統看法。我們發現,只要實現方式對了,水印是能在不影響輸出質量的情況下加上的。我們把這種特別的水印叫做無偏水印。我們從怎么檢測水印的角度,來解決輸出質量下降的問題。我們猜想:要是水印讓輸出質量下降了,那肯定有辦法通過文本質量猜出有沒有水印;反過來,如果水印根本檢測不出來,那就說明輸出質量沒受影響。具體來講,我們還證明了,用合適的方式做水印,是不會影響輸出的概率分布的。這很重要,因為對于那些沒有檢測手段的用戶來說

沒有私鑰的用戶無法辨別服務提供商是否已對模型應用了水印。此外,添加水印不會對生成文本在任何下游任務中的表現產生影響。我們的主要貢獻可總結如下:

  • 我們引入了無偏水印,這是一類創新的水印方法,能夠保證文本質量不下降。除此之外,我們還提供了一個全面的框架,有助于無偏水印的設計和檢測。
  • 我們提出了兩種創新且實用的水印技術,分別稱為 δ - 重加權和 γ - 重加權。通過大量的實驗,我們證明了這些技術在機器翻譯和文本摘要任務中能夠保持輸出質量。
  • 我們開發了原始對數似然比檢驗的一種先進的極大極小變體,用于水印檢測。這種新穎的檢測方法具有理論保障,特別是對第一類錯誤有上界限制,從而提高了語言模型中水印檢測的可靠性。

?第二章 預備知識

在本節中,我們深入探討大型語言模型(LLMs)語境下的水印問題。首先從構建問題和定義關鍵概念入手。

2.1問題建模

我們先引入一些符號來將問題形式化。令\(\Sigma\)表示詞匯集,即大型語言模型在單步生成中所有可能標記的集合。接著定義集合\(\Sigma^*\)為所有任意長度(包括長度為 0)的可能字符串的集合。

大型語言模型會基于給定上下文生成標記序列。在單步中,給定當前上下文\(x_1, x_2, \dots, x_n\),生成下一個標記\(x_{n + 1} \in \Sigma\)的概率可表示為\(P_M(x_{n+1} \mid x_1, x_2, \dots, x_n)\)。大型語言模型以自回歸的方式運作,這意味著生成多個標記\(x_{n+1}, \dots, x_{n+m}\)的聯合概率可寫成: \(P_M(x_{n+1}, \dots, x_{n+m} \mid x_1, x_2, \dots, x_n) = \prod_{i = 1}^{m} P_M(x_{n+i} \mid x_1, x_2, \dots, x_n, x_{n+1}, \dots, x_{n+i - 1})\)

注記:

LLM 是 “自回歸” 的,意思是 “生成下一個標記時,會用到之前所有生成的標記”。 如果要生成m個連續的標記\(x_{n+1}, \dots, x_{n+m}\),就需要:

  • 第一步:根據\(x_1, \dots, x_n\),生成\(x_{n+1}\),概率是\(P_M(x_{n+1} \mid x_1, \dots, x_n)\);
  • 第二步:現在上下文變成了\(x_1, \dots, x_n, x_{n+1}\),再生成\(x_{n+2}\),概率是\(P_M(x_{n+2} \mid x_1, \dots, x_n, x_{n+1})\);
  • ……
  • 第m步:上下文是\(x_1, \dots, x_n, x_{n+1}, \dots, x_{n+m - 1}\),生成\(x_{n+m}\),概率是\(P_M(x_{n+m} \mid x_1, \dots, x_n, x_{n+1}, \dots, x_{n+m - 1})\)。

因為每一步的概率是 “條件概率”(依賴之前所有內容),所以多個標記的聯合概率,就是把每一步的條件概率 “相乘”,也就是公式里的: \(P_M(x_{n+1}, \dots, x_{n+m} \mid x_1, \dots, x_n) = \prod_{i = 1}^{m} P_M(x_{n+i} \mid x_1, \dots, x_n, x_{n+1}, \dots, x_{n+i - 1})\)

舉個更通俗的例子

比如要生成句子?“I love reading books”

  • 第一步:有上下文(假設初始上下文是空,或有前文鋪墊),生成 “I” 的概率是\(P(\text{I} \mid \dots)\);
  • 第二步:上下文變成 “I”,生成 “love” 的概率是\(P(\text{love} \mid \text{I})\);
  • 第三步:上下文變成 “I love”,生成 “reading” 的概率是\(P(\text{reading} \mid \text{I love})\);
  • 第四步:上下文變成 “I love reading”,生成 “books” 的概率是\(P(\text{books} \mid \text{I love reading})\);

所以這整個句子的聯合概率,就是\(P(\text{I}) \times P(\text{love} \mid \text{I}) \times P(\text{reading} \mid \text{I love}) \times P(\text{books} \mid \text{I love reading})\),和公式的邏輯完全一致~

為簡化起見,我們使用以下符號:\(P_M(\boldsymbol{x}_{n+1:n+m} \mid \boldsymbol{x}_{1:n})\),其中\(\boldsymbol{x}_{n+1:n+m} = (x_{n+1}, \dots, x_{n+m}) \in \Sigma^*\)。

在水印的語境下,我們引入一個服務提供商,該提供商持有來自密鑰空間K的私鑰k。密鑰\(k \in K\)是從先驗分布\(P_K(k)\)中隨機選取的。大型語言模型的帶水印輸出遵循分布\(P_{M,w}(x_{n+1} \mid x_1, x_2, \dots, x_n; k)\),該分布同時以密鑰k和上下文\(\boldsymbol{x}_{1:n}\)為條件。類似地,我們使用符號\(P_{M,w}(\boldsymbol{x}_{n+1:n+m} \mid \boldsymbol{x}_{1:n}; k)\)來表示在帶水印模型中生成標記序列的概率。

可以這樣通俗理解:

服務提供商想象成 “加水印的人”,私鑰k?是他手里的 “秘密工具”,這個工具是從一堆可能的 “秘密工具”(密鑰空間K)里,按照一定的隨機規則(先驗分布\(P_K(k)\))選出來的。

當大型語言模型要生成帶水印的內容時,它生成下一個標記\(x_{n + 1}\)的概率,不僅要考慮之前的上下文\(x_1, x_2, \dots, x_n\),還要用到這個 “秘密工具”k,所以概率寫成\(P_{M,w}(x_{n+1} \mid x_1, x_2, \dots, x_n; k)\)。

要是要生成一串標記\(x_{n+1}, \dots, x_{n+m}\)(也就是一段帶水印的文本),那整個序列的生成概率,同樣要同時依賴上下文\(x_{1:n}\)和私鑰k,所以用\(P_{M,w}(x_{n+1:n+m} \mid x_{1:n}; k)\)來表示。簡單說就是:加水印不是隨便加的,得用一個 “秘密鑰匙”k,生成帶水印的內容時,每一步的概率都和這個 “鑰匙” 以及之前的內容有關。

2.2目標與核心概念精讀

目標闡述

我們的目標是設計一種水印方案,要滿足兩點:一是能被服務提供商高效檢測;二是用戶無法檢測到,且不會對輸出質量產生負面影響。

之所以關注用戶對水印的檢測情況,是因為這和輸出質量密切相關。要是水印導致輸出質量下降,那應該存在通過檢查質量來推斷水印存在的方法;反過來,若水印無法被檢測,就意味著它對輸出質量沒影響。

從統計檢驗的角度看,若帶水印和不帶水印輸出的概率分布完全一致,水印就被認為是嚴格不可檢測的。為了描述這個概念,我們定義了幾個理想的水印方案屬性。

定義解析
  • 定義 1(n?- 次不可檢測):對于固定的輸入序列\(\boldsymbol{a} \in \Sigma^*\),若對于任意n個字符串\(\boldsymbol{x}^i \in \Sigma^*\),都有\(\prod_{i = 1}^{n} P_M(\boldsymbol{x}^i \mid \boldsymbol{a}) = \sum_{k \in K} P_K(k) \prod_{i = 1}^{n} P_{M,w}(\boldsymbol{x}^i \mid \boldsymbol{a}; k)\),那么帶水印的大語言模型與密鑰先驗對\((P_{M,w}, P_K)\)相較于原始大語言模型\(P_M\)是n?- 次不可檢測的。
  • 定義 2(下游不變性):若對于任意字符串\(\boldsymbol{x}, \boldsymbol{a} \in \Sigma^*\),以及任意度量函數\(f: \Sigma^* \to \mathbb{R}\),都有\(\mathbb{E}_{\boldsymbol{x} \sim P_{M,w}(\cdot \mid \boldsymbol{a}; k), k \sim P_K}[f(\boldsymbol{x})] = \mathbb{E}_{\boldsymbol{x} \sim P_M(\cdot \mid \boldsymbol{a})}[f(\boldsymbol{x})]\),那么帶水印的大語言模型與密鑰先驗對\((P_{M,w}, P_K)\)相較于原始大語言模型\(P_M\)在下游任務上是不變的。
性質關聯與總結

注意,一次不可檢測的性質蘊含下游不變性,因為相同的分布對任意函數都會產生相同的期望。有趣的是,這種蘊含關系不需要\(n > 1\)時的n?- 次不可檢測性質,這意味著,即使用戶可能通過多次生成請求察覺到水印的存在,一次不可檢測的水印方案仍能在下游任務中保持輸出質量。

總之,我們概述了為大語言模型開發水印方案的初步概念和目標。我們強調了n?- 次不可檢測性和下游不變性這些理想性質,因為它們為水印方案的部署提供了嚴格的質量保持和完整性的理論保障。在第 4 節,我們將呈現一個被證明對于任意給定整數\(n \geq 1\)都具有n?- 次不可檢測性的水印框架。

注記:

定義 1:n?- 次不可檢測

想象你有原始模型(沒加水印的大語言模型)和帶水印模型

  • 原始模型生成內容時,對于固定輸入\(\boldsymbol{a}\)(比如 “請寫一段關于春天的文字”),生成n個不同輸出(比如n段不同的春天文字\(\boldsymbol{x}^1, \boldsymbol{x}^2, \dots, \boldsymbol{x}^n\))的概率乘積是\(\prod_{i = 1}^{n} P_M(\boldsymbol{x}^i \mid \boldsymbol{a})\)。
  • 帶水印模型生成這n個輸出時,因為水印是靠 “密鑰k” 控制的(k從密鑰空間K里隨機選,選的概率是\(P_K(k)\)),所以要把 “所有可能的密鑰k對應的生成概率” 加權求和(權重就是\(P_K(k)\)),得到\(\sum_{k \in K} P_K(k) \prod_{i = 1}^{n} P_{M,w}(\boldsymbol{x}^i \mid \boldsymbol{a}; k)\)。

如果這兩個值相等,就說明:從概率上看,“原始模型生成n個輸出的整體概率” 和 “帶水印模型用所有可能密鑰生成這n個輸出的整體概率” 是一樣的。這時候,帶水印模型就很難被通過 “觀察n次生成結果” 檢測出來,所以叫 “n?- 次不可檢測”。

定義 2:下游不變性

“下游任務” 可以理解為 “用生成的文本去做其他事”,比如拿生成的文本去做翻譯、摘要等任務。

  • 左邊\(\mathbb{E}_{\boldsymbol{x} \sim P_{M,w}(\cdot \mid \boldsymbol{a}; k), k \sim P_K}[f(\boldsymbol{x})]\):帶水印模型生成文本\(\boldsymbol{x}\)(依賴輸入\(\boldsymbol{a}\)和隨機選的密鑰k),然后用 “度量函數f”(比如評估翻譯準確性的函數)去衡量\(\boldsymbol{x}\)在下游任務里的表現,最后求期望(因為k是隨機的,所以要考慮所有k的情況)。
  • 右邊\(\mathbb{E}_{\boldsymbol{x} \sim P_M(\cdot \mid \boldsymbol{a})}[f(\boldsymbol{x})]\):原始模型生成文本\(\boldsymbol{x}\)(依賴輸入\(\boldsymbol{a}\)),用同樣的f衡量表現并求期望。

如果這兩個期望相等,就說明:帶水印后,文本在下游任務里的表現和原始模型生成的一樣,沒有變差,這就是 “下游不變性”。

性質關聯與總結

  • “一次不可檢測”(\(n=1\)時的n?- 次不可檢測)能推出 “下游不變性”。因為如果 “生成單個文本的概率分布” 和原始模型一樣,那用任何函數f去算期望,結果也會一樣(就像兩個相同的桶,隨便選個規則從桶里取東西算平均,結果肯定一樣)。
  • 更有趣的是:哪怕 “\(n>1\)時不是n?- 次不可檢測”(比如用戶多次生成,能隱約感覺到水印),只要 “一次不可檢測”,下游任務的質量還是能保住。
  • 最后總結:n?- 次不可檢測和下游不變性這兩個性質很重要,因為它們從理論上保證了 “加水印后,文本質量不下降,且不容易被檢測”。第 4 節會講一個能證明對任意\(n \geq 1\)都滿足n?- 次不可檢測的水印框架。

第三章 熱身:簡化玩具環境中的不可檢測性

在本小節中,我們旨在證明在高度簡化的玩具環境中,不可檢測性是可行的。這項初步分析為理解后續更復雜的場景奠定了基礎。

設定:考慮一個提供隨機數生成服務的服務提供商。該服務會輸出集合\(\{0, 1\}\)中均勻分布的隨機數。無水印的生成過程可表示為\(P_M(x) = 1/2\),對所有\(x \in \{0, 1\}\)成立。我們假設密鑰k屬于集合\(\{0, 1\}\),且被等概率選取。添加水印后,新輸出的概率可表示為:\(P_{M,w}(x \mid k) = \delta_k(x)\)。

注記:

“玩具環境(toy environment)” 是學術研究里的一種常用表述,指的是為了便于理解核心概念、驗證基礎原理,而刻意簡化、抽象出來的簡單場景或模型,就像給復雜問題做 “縮小版、簡化版的模擬實驗”。

  • 文中構造了一個 “生成\(\{0,1\}\)均勻隨機數” 的場景,符號集(只有 0 和 1)、概率分布(均勻分布)、生成過程(不是自回歸,就單步生成)都被極大簡化了。
  • 現實中大型語言模型(LLMs)的符號集(海量詞匯、標記)更復雜,概率分布也不均勻,生成還是自回歸的(一步步生成文本),和這個 “玩具環境” 差異很大

回顧一下,一次不可檢測性的性質可表示為\(P_M(x) = \sum_{k \in K} P_{M,w}(x \mid k)P_K(k)\)。假設用戶只能向該服務發起一次請求。如果用戶不知道密鑰,就無法辨別接收到的結果是否帶有水印。因此,在這個簡化場景中,實現了不可檢測性。

然而,這個玩具示例與大型語言模型(LLMs)中水印的實際應用之間存在很大差距。首先,LLMs 中的符號集\(\Sigma\)遠比二元集合\(\{0, 1\}\)復雜,且概率分布并非均勻的。此外,LLMs 中的生成過程是自回歸的,這意味著多個符號會被迭代生成。而且,該玩具示例對于\(n > 1\)的情況,不滿足n?- 次不可檢測性。

盡管存在這些差異,這個簡單示例提供了重要的見解,有助于理解后續我們應對這些挑戰的章節。不可檢測性的基本原理保持不變,只是在更復雜的環境中,其應用變得更加復雜。

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

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

相關文章

MySQL——事務、MVCC

目錄 什么是事務? 事務的四大特性 事務的隔離級別 事務的原理 redo log undo log MVCC實現原理 概念 隱藏字段 undo log版本鏈 readview 什么是事務? 事務是一組操作的集合,它是一個不可分割的工作單位,事務會把所有的操…

光伏項目無人機踏勘--如何使用無人機自動航線規劃APP

手機號免費注冊iSolarBP,一起來學習吧,注冊獲取無人機航線規劃APP https://isolar-bp.sungrowplant.com/isolarbp#/login?qrcodeId1952928161454551042https://isolar-bp.sungrowplant.com/isolarbp#/login?qrcodeId1952928161454551042 登錄--下載航…

優先搜索(DFS)實戰

目錄 一、DFS通用解題思路 二、逐題拆解 三、四題對比 四、總結:DFS解決矩陣問題的“萬能模板” 在算法解題中,矩陣連通性問題是高頻考點,而深度優先搜索(DFS)是解決這類問題的核心工具之一。它通過“一條路走到…

門控MLP(Qwen3MLP)與稀疏混合專家(Qwen3MoeSparseMoeBlock)模塊解析

Qwen3MLP Qwen3MLP是基于門控機制的MLP模塊,采用了類似門控線性單元(GLU)的結構。它通過三個線性變換層(gate_proj、up_proj和down_proj)和SiLU激活函數,先將輸入從隱藏維度擴展到中間維度,經過…

產線相機問題分析思路

現象:復現問題 原因:問題分析、溯源,定位根本原因; 方案:提出解決方案、規避措施 驗證:導入、驗證方案是否可行(先小批量、再大批量);一. 現象產線反饋4pcs預覽又臟污、劃…

【開關電源篇】EMI輸入電路-超簡單解讀

1. 輸入電路主要包含哪些元件?濾波設計需遵循什么原則? 輸入電路是電子設備(如開關電源)的“入口”,核心作用是抑制電磁干擾(EMI)、保護后級電路,其設計直接影響設備的穩定性和電磁…

勝券POS:打造智能移動終端,讓零售智慧運營觸手可及

零售企業運營中依然存在重重挑戰:收銀臺前的長隊消磨著顧客的耐心,倉庫里的庫存盤點不斷侵蝕著員工的精力,導購培訓的成本長期居高不下卻收效甚微……面對這些痛點,零售企業或許都在等待一個破局的答案。百勝軟件勝券POS&#xff…

(回溯/組合)Leetcode77組合+39組合總和+216組合總和III

為什么不能暴力,因為不知道要循環多少次,如果長度為n,難道要循環n次么,回溯的本質還是暴力,但是是可以知道多少層的暴力 之所以要pop是因為回溯相當于一個樹形結構,要pop進行第二個分支 剪枝:…

07 下載配置很完善的yum軟件源

文章目錄前言ping 測試網絡排查原因排查虛擬機的虛擬網絡是否開啟檢查net8虛擬網絡和Centos 7的ip地址是否在一個局域網點擊虛擬網絡編輯器點擊更改設置記錄net8的虛擬網絡地址ip a記錄Centos 7的ip地址比較net8和Centos 7的ip地址是否在一個網段解決問題問題解決辦法修改net8的…

SpringBoot中添加健康檢查服務

問題 今天需要給一個Spring工程添加健康檢查。 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency>application.yml management:endpoints:web:e…

AI工具深度測評與選型指南 - AI工具測評框架及方法論

目錄引言&#xff1a;AI工具爆發期的機遇與挑戰一、從AI模型到AI工具&#xff1a;核心認知與生態解析1.1 DeepSeek&#xff1a;快速出圈的國產大模型代表1.2 大模型的核心能力與類型劃分1.2.1 大模型的三層能力與“雙系統”類比1.2.2 生成模型與推理模型的核心差異1.3 AI工具與…

Spring Cloud Alibaba快速入門02-Nacos(中)

文章目錄實現注冊中心-服務發現模擬掉線遠程調用1.訂單和商品模塊的接口商品服務訂單服務2.抽取實體類3.訂單服務拿到需要調用服務的ip和端口負載均衡步驟1步驟2步驟3步驟4面試題&#xff1a;注冊中心宕機&#xff0c;遠程調用還能成功嗎&#xff1f;1、調用過;遠程調用不在依賴…

【Python】數據可視化之熱力圖

熱力圖&#xff08;Heatmap&#xff09;是一種通過顏色深淺來展示數據分布、密度和強度等信息的可視化圖表。它通過對色塊著色來反映數據特征&#xff0c;使用戶能夠直觀地理解數據模式&#xff0c;發現規律&#xff0c;并作出決策。 目錄 基本原理 sns.heatmap 代碼實現 基…

如何 正確使用 nrm 工具 管理鏡像源

目錄 nrm 是啥&#xff1f; nrm 的安裝 查看你當前已有的鏡像源 怎么切換到目標鏡像源 添加鏡像源 刪除鏡像源 測試鏡像源速度 nrm 是啥&#xff1f; 鏡像源&#xff1a;可以理解為&#xff0c;你訪問或下載某jar包或依賴的倉庫。 nrm&#xff08;Node Registry Manag…

關于對逾期提醒的定時任務~改進完善

Spring Boot 中實現到期提醒任務的定時Job詳解在金融或借貸系統中&#xff0c;到期提醒是常見的功能需求。通過定時任務&#xff0c;可以定期掃描即將到期的借款記錄&#xff0c;并生成或更新提醒信息。本文基于提供的三個JobHandler類&#xff08;FarExpireRemindJob、MidExpi…

springboot配置請求日志

springboot配置請求日志 一般情況下&#xff0c;接口請求都需要日志記錄&#xff0c;Java springboot中的日志記錄相對復雜一點 經過實踐&#xff0c;以下方案可行&#xff0c;記錄一下完整過程 一、創建日志數據模型 創建實體類&#xff0c;也就是日志文件中要記錄的數據格式 …

Redis(50) Redis哨兵如何與客戶端進行交互?

Redis 哨兵&#xff08;Sentinel&#xff09;不僅負責監控和管理 Redis 主從復制集群的高可用性&#xff0c;還需要與客戶端進行有效的交互來實現故障轉移后的透明連接切換。下面詳細探討 Redis 哨兵如何與客戶端進行交互&#xff0c;并結合代碼示例加以說明。 哨兵與客戶端的交…

【.Net技術棧梳理】04-核心框架與運行時(線程處理)

文章目錄1. 線程管理1.1 線程的核心概念&#xff1a;System.Threading.Thread1.2 現代線程管理&#xff1a;System.Threading.Tasks.Task 和 Task Parallel Library (TPL)1.3 狀態管理和異常處理1.4 協調任務&#xff1a;async/await 模式2. 線程間通信2.1 共享內存與競態條件2…

(JVM)四種垃圾回收算法

在 JVM 中&#xff0c;垃圾回收&#xff08;GC&#xff09;是核心機制之一。為了提升性能與內存利用率&#xff0c;JVM 采用了多種垃圾回收算法。本文總結了 四種常見的 GC 算法&#xff0c;并結合其優缺點與應用場景進行說明。1. 標記-清除&#xff08;Mark-Sweep&#xff09;…

論文閱讀:VGGT Visual Geometry Grounded Transformer

論文閱讀&#xff1a;VGGT: Visual Geometry Grounded Transformer 今天介紹一篇 CVPR 2025 的 best paper&#xff0c;這篇文章是牛津大學的 VGG 團隊的工作&#xff0c;主要圍繞著 3D 視覺中的各種任務&#xff0c;這篇文章提出了一種多任務統一的架構&#xff0c;實現一次輸…