直接偏好優(yōu)化技術(shù)DPO基礎理論及推導

論文標題:Direct Preference Optimization: Your Language Model is Secretly a Reward Model
論文鏈接:https://arxiv.org/abs/2305.18290
論文來源:NeurIPS 2023

一凭戴、概述

為了能夠?qū)⒄Z言模型的行為與人類偏好對齊卸例,現(xiàn)有的方法使用精心設計的人類偏好數(shù)據(jù)集集傲绣,將期望的行為灌輸?shù)秸Z言模型中,這些偏好數(shù)據(jù)集代表了人類認為安全和有益的行為類型。目前的大模型偏好對齊主要依賴于基于人類反饋的強化學習技術(shù)(Reinforcement Learning from Human Feedback, RLHF)碾盟,RLHF方法利用獎勵模型(Reward Model)擬合人類偏好數(shù)據(jù)集,然后使用強化學習技術(shù)優(yōu)化語言模型策略(policy),以使其能夠產(chǎn)生高獎勵的響應徘禁,且不會偏離原始模型太遠。雖然RLHF訓練的模型具有令人印象深刻的對話和編碼能力存皂,但RLHF pipeline比監(jiān)督學習要復雜得多晌坤,涉及在訓練循環(huán)中訓練多個語言模型并從語言模型策略中采樣逢艘,這會造成巨大的計算成本。

本文研究驗證了現(xiàn)有方法使用的基于強化學習的目標可以用一個簡單的二元交叉熵目標來直接優(yōu)化骤菠,無需獎勵模型與強化學習它改,由此簡化了偏好學習的pipeline。本文提出直接偏好優(yōu)化(Direct Preference Optimization, DPO)技術(shù)商乎,能夠隱式地優(yōu)化與現(xiàn)有RLHF算法相同的目標(即在一個KL散度約束下最大化獎勵)央拖,且很容易實現(xiàn)和能夠直接訓練。DPO更新過程會增大偏好響應相較于不偏好響應的log概率鹉戚,同時其包含一個動態(tài)的鲜戒、每個樣本上的重要性權(quán)重,以避免模型退化(這種退化在使用樸素的概率比值目標時會發(fā)生)抹凳。

與現(xiàn)有的方法類似遏餐,DPO依賴于一種理論偏好模型(比如Bradley-Terry模型),這一類模型度量一個給定的獎勵函數(shù)(Reward Function)對齊經(jīng)驗偏好數(shù)據(jù)的好壞程度赢底。不同的是失都,DPO并沒有采用訓練獎勵模型以及強化學習的方式,而是利用一種獎勵模型的重參數(shù)化技巧幸冻,使得能夠閉式地(in close form)獲取最優(yōu)的策略模型粹庞。給定模型響應的人類偏好數(shù)據(jù)集,DPO可以使用簡單的二元交叉熵目標來優(yōu)化策略洽损,得到適合偏好數(shù)據(jù)的隱式獎勵函數(shù)的最優(yōu)策略庞溜。

二、前提

RLHF pipeline通常包含三個階段:1)監(jiān)督微調(diào)(Supervised Fine-Tuning, SFT)碑定;2)偏好采樣和獎勵學習流码;3)強化學習優(yōu)化。

  1. SFT階段

RLHF通常從在一個預訓練語言模型上利用下游任務(如對話不傅、總結(jié)等)的高質(zhì)量演示數(shù)據(jù)監(jiān)督微調(diào)開始旅掂,來獲得一個模型\pi ^{\text{SFT}}

  1. 獎勵建模階段

在第二階段访娶,利用promptx來使得SFT模型產(chǎn)生成對的響應(y_{1},y_{2})\sim \pi ^{\text{SFT}}(y|x)商虐。這些響應接著將由人類標注更加偏好哪一個,標注為y_w\succ y_l|x崖疤,這里的y_wy_l分別表示(y_{1},y_{2})偏好的和不偏好的補全∶爻担現(xiàn)在假設這些偏好符合某個隱式獎勵模型r^*(x,y),也就是我們無法直接訪問的獎勵函數(shù)的真實分布劫哼。

通常有一些可用于建模偏好的模型叮趴,例如Bradley-Terry (BT)模型(如果我們有幾個排名的答案的話,可以采用更一般的Plackett-Luce排名模型)权烧。BT模型的基本思想是眯亦,通過對各個對象進行配對比較伤溉,可以估計出每個對象的“實力”或“能力”,從而計算出在任意一對對象之間進行比較時妻率,某個對象獲勝的概率乱顾。具體來說,假設有n個對象(例如運動員宫静、產(chǎn)品等)走净,我們用\theta_i表示對象i的實力參數(shù)。對于兩個對象ij孤里,對象i在比較中獲勝的概率P(i\succ j)可以表示為:

P(i\succ j) = \frac{\theta_i}{\theta_i + \theta_j} \tag{1}

其中伏伯,\theta_i\theta_j都是正的實力參數(shù)。BT模型廣泛應用于競技體育排名捌袜、音樂和藝術(shù)競賽说搅、市場研究中的產(chǎn)品比較等領(lǐng)域。通過配對比較虏等,Bradley-Terry模型能夠提供一個相對簡單但有效的框架來比較多個對象的相對實力或偏好蜓堕。

在偏好對齊的場景下,BT模型可將真實的人類偏好分布p^*建模為:

p^*(y_1\succ y_2|x)=\frac{\text{exp}(r^*(x,y_1))}{\text{exp}(r^*(x,y_1))+\text{exp}(r^*(x,y_2))} \tag{2}

真實的獎勵函數(shù)r^*與真實的偏好分布p^*都是不可訪問的博其,不過我們可以通過人類標注的方式獲得從p^*中采樣的人類偏好數(shù)據(jù)集\mathcal{D}=\left \{x^{(i)},y_{w}^{(i)},y_{l}^{(i)}\right \}_{i=1}^{N},然后利用這個數(shù)據(jù)集即可參數(shù)化一個獎勵模型r_\phi (x,y)迂猴,并根據(jù)極大似然估計來估計其參數(shù)慕淡。將這個問題作為一個二分類問題的話,我們便有了RLHF中建模獎勵函數(shù)的負對數(shù)似然損失:

\mathcal{L}_{R}(r_\phi ,\mathcal{D})=-\mathbb{E}_{(x,y_w,y_l)\sim \mathcal{D}}\left [\text{log}\, \sigma (r_\phi (x,y_w)-r_\phi (x,y_l))\right ] \tag{3}

其中\sigma為Logistic函數(shù)沸毁。在語言模型的場景下峰髓,獎勵函數(shù)r_\phi (x,y)通常從SFT模型\pi ^{\text{SFT}}(y|x)初始化而來,在其最后一個transformer層的頂部添加一個線性層息尺,使其輸出一個標量預測值作為獎勵值携兵。為了確保這個獎勵函數(shù)具有低方差,現(xiàn)有方法通常會標準化獎勵值搂誉,即\mathbb{E}_{(x,y)\sim \mathcal{D}}[r_\phi (x,y)]=0徐紧。

  1. 強化學習微調(diào)階段

在強化學習階段,我們使用前一階段學習到的獎勵函數(shù)來為語言模型提供反饋炭懊,通常強化學習階段相當于以下優(yōu)化問題:

\max_{\pi _{\theta }}\mathbb{E}_{x\sim \mathcal{D},y\sim \pi _{\theta }(y|x)}\left [r_\phi (x,y)\right ]-\beta \mathbb{D}_{KL}\left [\pi _{\theta }(y|x)\parallel \pi _{\text{ref}}(y|x)\right ] \tag{4}

這里的\beta是一個超參數(shù)并级,用于控制偏離基礎參考策略(reference policy)\pi _{\text{ref}}的程度,\pi _{\text{ref}}也就是初始的SFT模型\pi ^{\text{SFT}}(y|x)侮腹,在優(yōu)化過程中其參數(shù)是固定的嘲碧。\pi _{\theta }為實際優(yōu)化的策略模型,通常策略模型也由\pi ^{\text{SFT}}(y|x)初始化而來父阻。上式的KL散度約束是很重要的愈涩,因為獎勵模型r_\phi (x,y)是在SFT模型\pi ^{\text{SFT}}(y|x)的輸出分布上訓練得到的望抽,因此只有在這個分布上獎勵模型的預測值才是準確的,這個KL散度約束防止了策略模型的輸出分布偏離\pi ^{\text{SFT}}(y|x)的輸出分布履婉,同時也保持了生成內(nèi)容的多樣性并且防止模式坍塌到單一的高獎勵答案煤篙。

由于語言生成的離散性,上面的目標是不可微的谐鼎,因此通常使用強化學習來優(yōu)化這個目標舰蟆。標準的方法將獎勵函數(shù)構(gòu)造成r(x,y)=r_\phi (x,y)-\beta (\text{log}\, \pi _{\theta }(y|x)-\text{log}\, \pi _{\text{ref}}(y|x)),然后使用PPO來最大化這個獎勵函數(shù)狸棍。RLHF的詳細流程可參考生成式大模型的RLHF技術(shù)(一):基礎身害。

三、方法

本文的目標是推導出一種直接使用偏好的策略優(yōu)化方法草戈,不像之前的RLHF方法需要學習一個獎勵模型然后利用強化學習來優(yōu)化策略模型塌鸯,本文的方法利用一種特殊的獎勵模型參數(shù)化,使得能夠閉式地獲取最優(yōu)的策略模型唐片,而不需要一個強化學習的訓練過程丙猬。DPO利用從獎勵函數(shù)到最優(yōu)策略的解析映射推導,使得我們能夠?qū)ⅹ剟詈瘮?shù)上的損失轉(zhuǎn)換為策略模型上的損失费韭。這種變量改變方法避免了擬合一個顯式的茧球、獨立的獎勵模型,同時仍然在現(xiàn)有的人類偏好模型下(即BT模型)進行優(yōu)化星持。本質(zhì)上抢埋,策略模型同時代表了語言模型和(隱式的)獎勵模型。

  1. DPO目標的推導

對于前面的KL散度約束的獎勵最大化目標公式(4)督暂,其在一般的獎勵函數(shù)r(x,y)下的最優(yōu)解\pi _{r}(y|x)為:

\pi _{r}(y|x)=\frac{1}{Z(x)}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right ),\; \text{for all }x\in \mathcal{D} \tag{5}

這里的Z(x)=\sum _{y}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right )揪垄,詳細推導請參看本文最后一個章節(jié)的第1小節(jié)。對于Z(x)而言逻翁,其中的r(x,y)我們可以通過ground-truth獎勵函數(shù)r^*的極大似然估計r_{\phi}來得到饥努,但配分函數(shù)Z(x)的估計仍然是unfeasible的。這是因為xy作為語言模型的輸入輸出文本八回,其狀態(tài)空間非常地廣闊酷愧。因此這個最優(yōu)解的表示在實踐中是很難計算的。不過我們可以重新排列公式(5)來用最優(yōu)策略\pi _{r}辽社、參考策略\pi _{\text{ref}}以及未知的配分函數(shù)Z(x)來重參數(shù)化獎勵函數(shù)r(x,y)

r(x,y)=\beta \, \text{log}\frac{\pi _{r}(y|x)}{\pi _{\text{ref}}(y|x)}+\beta \, \text{log}Z(x) \tag{6}

公式(6)中的重參數(shù)化設計可以應用到ground-truth獎勵r^{*}和對應的最優(yōu)策略模型\pi ^{*}上伟墙。幸運的是,BT模型只依賴于兩個補全的獎勵的差值p^*(y_1\succ y_2|x)=\sigma (r^*(x,y_1)-r^*(x,y_2))滴铅,詳細推導請參看本文最后一個章節(jié)的第2小節(jié)戳葵。用r^{*}(x,y)\pi ^{*}(y|x)替換公式(6)中的r(x,y)\pi _{r}(y|x),然后將r^{*}(x,y)代入BT模型汉匙,即可使用最優(yōu)策略模型\pi ^{*}和參考模型\pi _{ref}來表示人類偏好概率拱烁,也就是說BT模型下的最優(yōu)的RLHF策略模型\pi ^{*}滿足以下偏好模型:

p^*(y_1\succ y_2|x)=\frac{1}{1+exp\left (\beta \, \text{log}\frac{\pi ^{*}(y_{2}|x)}{\pi _{\text{ref}}(y_{2}|x)}-\beta \, \text{log}\frac{\pi ^{*}(y_{1}|x)}{\pi _{\text{ref}}(y_{1}|x)}\right )} \tag{7}

現(xiàn)在我們有了以最優(yōu)策略模型表示(而非以獎勵模型表示)的人類偏好概率生蚁,因此我們就可以使用一個面向一個參數(shù)化策略模型\pi _{\theta }的極大似然目標。類似于公式(3)中的獎勵建模過程戏自,我們的策略目標函數(shù)變?yōu)榱耍?/p>

\mathcal{L}_{\text{DPO}}(\pi _{\theta };\pi _{\text{ref}})=-\mathbb{E}_{(x,y_{w},y_{l})\sim \mathcal{D}}\left [\text{log}\, \sigma \left (\beta \, \text{log}\frac{\pi _{\theta }(y_{w}|x)}{\pi _{\text{ref}}(y_{w}|x)}-\beta \, \text{log}\frac{\pi _{\theta }(y_{l}|x)}{\pi _{\text{ref}}(y_{l}|x)}\right )\right ] \tag{8}

于是邦投,我們現(xiàn)在利用一個替代參數(shù)化來擬合隱式獎勵,其最佳策略為優(yōu)化后的\pi _{\theta }擅笔。此外志衣,由于該過程等價于擬合一個重新參數(shù)化的BT模型,因此該過程具有一定的理論性質(zhì)猛们,比如在適當?shù)钠脭?shù)據(jù)分布假設下的一致性念脯。

  1. DPO更新做了什么?

為了更好地理解DPO,我們可以分析一下DPO損失函數(shù)\mathcal{L}_{\text{DPO}}的梯度弯淘,其在參數(shù)\theta上的梯度可以寫作:

\nabla _{\theta }\mathcal{L}_{\text{DPO}}(\pi _{\theta };\pi _{\text{ref}})=-\beta \mathbb{E}_{(x,y_{w},y_{l})\sim \mathcal{D}}\left [\underbrace{\sigma (\hat{r}_{\theta }(x,y_{l})-\hat{r}_{\theta }(x,y_{w}))}_{\text{higher weight when reward estimate is wrong}}\left [\underbrace{\nabla _{\theta }\, \text{log}\, \pi _{\theta }(y_{w}|x)}_{\text{increase likelihood of }y_{w}}-\underbrace{\nabla _{\theta }\, \text{log}\, \pi _{\theta }(y_{l}|x)}_{\text{decrease likelihood of }y_{l}}\right ] \right ] \tag{9}

這里的\hat{r}_{\theta }(x,y)=\beta \, \text{log}\frac{\pi _{\theta }(y|x)}{\pi _{\text{ref}}(y|x)}是由語言模型\pi _{\theta }和參考模型\pi _{\text{ref}}隱式定義的獎勵绿店。直觀來看,損失函數(shù)\mathcal{L}_{\text{DPO}}的梯度增加了偏好補全y_{w}的似然庐橙,并降低了不偏好補全y_{l}的似然假勿。需要注意的是,這些樣本的權(quán)重取決于隱式獎勵模型\hat{r}_{\theta }對不偏好的補全進行評分的高低程度态鳖,縮放因子為\beta转培,即隱式獎勵模型對這些補全排序的錯誤程度,同時考慮到KL散度約束的強度浆竭。本文的實驗表明了這種加權(quán)的重要性堡距,因為這種方法的樸素版本如果沒有加權(quán)系數(shù),可能會導致語言模型退化兆蕉。

  1. DPO pipeline

DPO的整體pipeline為:
①對每個promptx采樣補全y_{1},y_{2}\sim \pi _{\text{ref}}(\cdot |x),并由人類標注以獲得離線偏好數(shù)據(jù)集\mathcal{D}=\left \{x^{(i)},y_{w}^{(i)},y_{l}^{(i)}\right \}_{i=1}^{N}缤沦;
②對于給定的\pi _{\text{ref}}虎韵、\mathcal{D}\beta,優(yōu)化\pi _{\theta }來最小化\mathcal{L}_{\text{DPO}}缸废。

在DPO方法中包蓝,由于偏好數(shù)據(jù)集是從\pi ^{\text{SFT}}采樣而來划鸽,因此我們設置\pi _{\text{ref}}=\pi ^{\text{SFT}}霉翔。在實踐中鸠踪,人們可能會希望直接使用公開可用的偏好數(shù)據(jù)集乘客,而不是自己生成樣本并收集人類的偏好函喉。在這種情況下\pi ^{\text{SFT}}是不可訪問的锁保,因此我們通過最大化偏好補全(x,y_{w})的似然來初始化\pi _{\text{ref}}禁偎,即\pi _{\text{ref}}=\text{arg}\,\max_{\pi }\mathbb{E}_{x,y_{w}\sim \mathcal{D}}[\text{log}\, \pi (y_{w}|x)]杀怠。這一設置有助于緩解DPO在不可用的真實參考分布和\pi _{\text{ref}}之間的分布偏移恕汇。

推導

本節(jié)補充一些前文省略的公式推導過程腕唧。

  1. 推導KL散度約束的獎勵最大化目標的最優(yōu)解

首先對于前面的公式(4)或辖,其在任意獎勵函數(shù)r(x,y)和一般的非參數(shù)化策略類\pi (y|x)下的一般形式為:

\max_{\pi }\mathbb{E}_{x\sim \mathcal{D},y\sim \pi (y|x)}\left [r(x,y)\right ]-\beta \mathbb{D}_{KL}\left [\pi (y|x)\parallel \pi _{\text{ref}}(y|x)\right ] \tag{10}

在該式基礎上,有以下推導過程:

\begin{align} &\max_{\pi }\mathbb{E}_{x\sim \mathcal{D},y\sim \pi (y|x)}\left [r(x,y)\right ]-\beta \mathbb{D}_{KL}\left [\pi (y|x)\parallel \pi _{\text{ref}}(y|x)\right ]\\ &=\max_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [r(x,y)\right ]-\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\beta \, \text{log}\frac{\pi (y|x)}{\pi _{\text{ref}}(y|x)}\right ]\\ &=\max_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [r(x,y)-\beta \, \text{log}\frac{\pi (y|x)}{\pi _{\text{ref}}(y|x)}\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\beta \, \text{log}\frac{\pi (y|x)}{\pi _{\text{ref}}(y|x)}-r(x,y)\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\pi _{\text{ref}}(y|x)}-\frac{1}{\beta }r(x,y)\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right )}\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\frac{1}{Z(x)}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right )}-\text{log}\, Z(x)\right ] \end{align}

這里的Z(x)為配分函數(shù):

Z(x)=\sum _{y}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right ) \tag{11}

注意這里的Z(x)只與x和參考策略\pi _{\text{ref}}有關(guān)枣接,不依賴于策略\pi∷滔荆現(xiàn)在我們可以定義:

\pi ^{*}(y|x)=\frac{1}{Z(x)}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right ) \tag{12}

這里的\pi ^{*}(y|x)滿足\pi ^{*}(y|x)\ge 0\sum _{y}\pi ^{*}(y|x)=1,因此實際上我們是定義了一個有效的概率分布\pi ^{*}(y|x)但惶。由于Z(x)不是y的函數(shù)耳鸯,我們可以重新組織一下公式(11),繼續(xù)以下推導過程:

\begin{align} &\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\frac{1}{Z(x)}\pi _{\text{ref}}(y|x)\text{exp}\left (\frac{1}{\beta }r(x,y)\right )}-\text{log}\, Z(x)\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\pi ^{*}(y|x)}-\text{log}\, Z(x)\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\left [\mathbb{E}_{y\sim \pi (y|x)}\left [\text{log}\frac{\pi (y|x)}{\pi ^{*}(y|x)}\right ]-\text{log}\, Z(x)\right ]\\ &=\min_{\pi }\mathbb{E}_{x\sim \mathcal{D}}\left [\mathbb{D}_{KL}(\pi (y|x)\parallel \pi ^{*}(y|x))-\text{log}\, Z(x)\right ] \end{align}

現(xiàn)在膀曾,由于Z(x)并不依賴于\pi县爬,因此上述目標的最小值將會在第一個KL散度項最小時達成。由吉布斯不等式可知妓肢,當且僅當兩個概率分布完全相同時KL散度達到最小值0捌省。因此我們所求的\pi (y|x)的最優(yōu)解即為\pi ^{*}(y|x)

\pi (y|x)=\pi ^{*}(y|x)=\frac{1}{Z(x)}\pi _{\text{ref}}(y|x)\text{ep}\left (\frac{1}{\beta }r(x,y)\right ),\; \text{for all }x\in \mathcal{D} \tag{13}

  1. BT模型下DPO目標推導

對于公式(2)中展示的BT模型對人類偏好的建模,可以做以下轉(zhuǎn)換:

\begin{align} &p^*(y_1\succ y_2|x)=\frac{\text{exp}(r^*(x,y_1))}{\text{exp}(r^*(x,y_1))+\text{exp}(r^*(x,y_2))}\\ &=\frac{1}{1+\text{exp}(r^*(x,y_2)-r^*(x,y_1))}\\ &=\sigma (r^*(x,y_1)-r^*(x,y_2)) \tag{14} \end{align}

這里的\sigma為sigmoid函數(shù)碉钠。根據(jù)公式(6)可知我們可以將不可訪問的ground truth獎勵函數(shù)r^{*}用最優(yōu)的策略\pi ^{*}來表示:

r^{*}(x,y)=\beta \, \text{log}\frac{\pi ^{*}(y|x)}{\pi _{\text{ref}}(y|x)}+\beta \, \text{log}Z(x) \tag{15}

將公式(15)代入公式(14)即可得:

p^*(y_1\succ y_2|x)=\sigma \left (\beta \, \text{log}\frac{\pi ^{*}(y_{1}|x)}{\pi _{\text{ref}}(y_{1}|x)}-\beta \, \text{log}\frac{\pi ^{*}(y_{2}|x)}{\pi _{\text{ref}}(y_{2}|x)}\right ) \tag{16}

這個概率即是公式(8)中所采用的單實例損失纲缓。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市喊废,隨后出現(xiàn)的幾起案子祝高,更是在濱河造成了極大的恐慌,老刑警劉巖污筷,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件工闺,死亡現(xiàn)場離奇詭異,居然都是意外死亡瓣蛀,警方通過查閱死者的電腦和手機陆蟆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惋增,“玉大人叠殷,你說我怎么就攤上這事≌┟螅” “怎么了林束?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長稽亏。 經(jīng)常有香客問我壶冒,道長,這世上最難降的妖魔是什么截歉? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任胖腾,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胸嘁。我一直安慰自己瓶摆,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布性宏。 她就那樣靜靜地躺著群井,像睡著了一般。 火紅的嫁衣襯著肌膚如雪毫胜。 梳的紋絲不亂的頭發(fā)上书斜,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音酵使,去河邊找鬼荐吉。 笑死,一個胖子當著我的面吹牛口渔,可吹牛的內(nèi)容都是我干的样屠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缺脉,長吁一口氣:“原來是場噩夢啊……” “哼痪欲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起攻礼,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤业踢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后礁扮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體知举,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年太伊,在試婚紗的時候發(fā)現(xiàn)自己被綠了雇锡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡僚焦,死狀恐怖遮糖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叠赐,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布屡江,位于F島的核電站芭概,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏惩嘉。R本人自食惡果不足惜罢洲,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惹苗,春花似錦殿较、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至院究,卻和暖如春洽瞬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背业汰。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工伙窃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人样漆。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓为障,卻偏偏與公主長得像,于是被迫代替她去往敵國和親放祟。 傳聞我的和親對象是個殘疾皇子鳍怨,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容