深圳乐从网站建设/广告推广平台哪个好

深圳乐从网站建设,广告推广平台哪个好,专业做网站方案ppt,wordpress小工具开发教程1. 什么是DPO? DPO(Direct Preference Optimization)是一种用于对齐大语言模型(LLMs)的新型方法,旨在高效地将人类偏好融入模型训练中。它提供了一种替代强化学习(如 RLHF, Reinforcement Learn…

1. 什么是DPO?

DPO(Direct Preference Optimization)是一种用于对齐大语言模型(LLMs)的新型方法,旨在高效地将人类偏好融入模型训练中。它提供了一种替代强化学习(如 RLHF, Reinforcement Learning with Human Feedback)的方式,能够直接优化偏好数据,而无需显式地引入奖励模型(Reward Model)或策略梯度方法。

所以DPO到底是什么?

我们先看看训练DPO需要的数据集形式:

{"prompt": "What are the benefits of meditation?","chosen": "Meditation helps reduce stress, improve focus, and enhance emotional well-being.","rejected": "Meditation is sitting quietly for a while, but it may not help everyone."
}

给一个提示词,给两个选择,chosen是人选的,rejected是人不选的,现在希望LLM也能像人一样选对,这就是对齐人类偏好。

之前的解决方案是RLHF,但是RLHF需要用到PPO算法,而PPO算法需要训练策略网络和价值网络,训练成本过高,而PPO是一种成本低很多,而且很简单的方式。

2. 具体算法

2.1 KL散度

先上公式:
K L ( P ∣ ∣ Q ) = ∑ x ∈ X P ( x ) log ⁡ ( P ( x ) Q ( x ) ) KL(P||Q)=\sum_{x\in X}P(x)\log\left(\frac{P(x)}{Q(x)}\right) KL(P∣∣Q)=xXP(x)log(Q(x)P(x))
这个在LLM训练中很常见,在PPO算法中也介绍过,主要约束模型在参数更新过程中不能变化太大,保证模型基本的能力。

2.2 Bradley-Terry模型

先说这个模型的作用就是根据成对比较的胜负结果估计选项的相对偏好或胜率。也就是通过两两比较来估计该模型中每一个相对元素的实力。

举个例子:

已知,

对战
A 对 B84
A 对 C35

显然可以看出A比B强点,A比C弱一点,所以强度排名:C > A > B,但是我再问一句,A打败B的概率又是多少呢?

是这样的呢:

对战
A 对 B47
A 对 C712

能不能评估出B和C谁更强一点?如果再加入D,E,F,G这些别的选手呢,对局的场数非常非常多了,有没有什么办法能给这些角色排个名呢?那如果我能用一个数字来量化每个角色强度的话,排名是不是就很容易了?Bradley-Terry就是用来做这个的。

首先我们用 α \alpha α来表示一个角色的实力, α i \alpha_i αi来表示第 i i i个角色的实力,如果A比B强,那么 P ( A > B ) = α A α A + α B P(A > B)=\frac{\alpha_A}{\alpha_A+\alpha_B} P(A>B)=αA+αBαA是不是就应该越大越好,最起码得大于0.5,那这个 P ( A > B ) P(A > B) P(A>B)​就表示A打败B的概率,回忆一下学过的最大似然估计,这个时候是不是就能派上用场了。

这里直接快进到求完对数的步骤:
ln ⁡ L = 8 ln ⁡ ( α A α A + α B ) + 4 ln ⁡ ( α B α A + α B ) + 3 ln ⁡ ( α A α A + α C ) + 5 ln ⁡ ( α C α A + α C ) \ln L = 8\ln\left(\frac{\alpha_A}{\alpha_A+\alpha_B}\right)+4\ln\left(\frac{\alpha_B}{\alpha_A+\alpha_B}\right)+3\ln\left(\frac{\alpha_A}{\alpha_A+\alpha_C}\right)+5\ln\left(\frac{\alpha_C}{\alpha_A+\alpha_C}\right) lnL=8ln(αA+αBαA)+4ln(αA+αBαB)+3ln(αA+αCαA)+5ln(αA+αCαC)
其中 L L L是我们要估计的似然值,在这里,既然只需要量化实力,那就需要一个参照值,我们将A的实力设置为1,也就是 α A \alpha_A αA为1,那我们分别对 α B \alpha_B αB α C \alpha_C αC求偏导等于0可以算出 α B = 0.5 \alpha_B=0.5 αB=0.5 α C = 5 3 \alpha_C=\frac{5}{3} αC=35,这样就能算出B战胜C的概率, P ( B > C ) = α B α B + α C ≈ 0.23 P(B > C)=\frac{\alpha_B}{\alpha_B+\alpha_C}\approx0.23 P(B>C)=αB+αCαB0.23

这个 α \alpha α值对应到PPO算法里面就是奖励值 r r r,下标也不用 i i i了换一种表示形式 α i \alpha_i αi变成了 r ( x , y l ) r(x, y_l) r(x,yl) r ( x , y w ) r(x, y_w) r(x,yw),其中 x x x表示prompt, y l y_l yl表示人类不是很偏向的回答, y w y_w yw表示人类偏好的回答,因此 P ( A > B ) = α A α A + α B P(A > B)=\frac{\alpha_A}{\alpha_A+\alpha_B} P(A>B)=αA+αBαA就变成了
P ( y w > y l ) = r ( x , y w ) r ( x , y w ) + r ( x , y l ) P(y_w > y_l)=\frac{r(x,y_w)}{r(x,y_w)+r(x,y_l)} P(yw>yl)=r(x,yw)+r(x,yl)r(x,yw)
我们不喜欢负数,不妨都加一个指数,式子就变成了
P ( y w > y l ) = exp ⁡ ( r ( x , y w ) ) exp ⁡ ( r ( x , y w ) ) + exp ⁡ ( r ( x , y l ) ) P(y_w > y_l)=\frac{\exp(r(x,y_w))}{\exp(r(x,y_w))+\exp(r(x,y_l))} P(yw>yl)=exp(r(x,yw))+exp(r(x,yl))exp(r(x,yw))
做最大似然估计,目标就变成了
E ( x , y w , y l ) ∼ D [ ln ⁡ exp ⁡ ( r ( x , y w ) ) exp ⁡ ( r ( x , y w ) ) + exp ⁡ ( r ( x , y l ) ) ] \mathbb{E}_{(x,y_w,y_l)\sim D}\left[\ln\frac{\exp(r(x,y_w))}{\exp(r(x,y_w))+\exp(r(x,y_l))}\right] E(x,yw,yl)D[lnexp(r(x,yw))+exp(r(x,yl))exp(r(x,yw))]
要让它最大化,但是我们的 l o s s loss loss值一般是最小化,所以加个负号就行。

由于sigmod函数表达式为:
σ ( x ) = 1 1 + exp ⁡ ( − x ) \sigma(x)=\frac{1}{1 + \exp(-x)} σ(x)=1+exp(x)1
因此,可以做如下变化:
Loss = − E ( x , y w , y l ) ∼ D [ ln ⁡ exp ⁡ ( r ( x , y w ) ) exp ⁡ ( r ( x , y w ) ) + exp ⁡ ( r ( x , y l ) ) ] = − E ( x , y w , y l ) ∼ D [ ln ⁡ 1 1 + exp ⁡ ( r ( x , y l ) − r ( x , y w ) ) ] = − E ( x , y w , y l ) ∼ D [ ln ⁡ σ ( r ( x , y w ) − r ( x , y l ) ) ] = − ln ⁡ σ ( r ( x , y w ) − r ( x , y l ) ) \begin{align*} \text{Loss}&=-\mathbb{E}_{(x,y_w,y_l)\sim D}\left[\ln\frac{\exp(r(x,y_w))}{\exp(r(x,y_w))+\exp(r(x,y_l))}\right]\\ &=-\mathbb{E}_{(x,y_w,y_l)\sim D}\left[\ln\frac{1}{1 + \exp(r(x,y_l)-r(x,y_w))}\right]\\ &=-\mathbb{E}_{(x,y_w,y_l)\sim D}\left[\ln\sigma(r(x,y_w)-r(x,y_l))\right]\\ &=-\ln\sigma(r(x,y_w)-r(x,y_l)) \end{align*} Loss=E(x,yw,yl)D[lnexp(r(x,yw))+exp(r(x,yl))exp(r(x,yw))]=E(x,yw,yl)D[ln1+exp(r(x,yl)r(x,yw))1]=E(x,yw,yl)D[lnσ(r(x,yw)r(x,yl))]=lnσ(r(x,yw)r(x,yl))
到此,Bradley-Terry模型就介绍完了。其中的 r r r我们可以类比成PPO里的奖励值。

2.3. DPO

我们先看DPO的训练目标是什么,肯定就是在尽可能拿多奖励的同时又不至于变化太大,也就是最大化以下目标:
E x ∼ D , y ∼ π [ r ( x , y ) ] − β D K L [ π ( y ∣ x ) ∣ ∣ π r e f ( y ∣ x ) ] \mathbb{E}_{x\sim D,y\sim\pi}[r(x,y)] - \beta\mathbb{D}_{KL}[\pi(y|x)||\pi_{ref}(y|x)] ExD,yπ[r(x,y)]βDKL[π(yx)∣∣πref(yx)]
再做一些数学变换:
max ⁡ π E x ∼ D , y ∼ π [ r ( x , y ) ] − β D K L [ π ( y ∣ x ) ∣ ∣ π r e f ( y ∣ x ) ] = max ⁡ π E x ∼ D , y ∼ π [ r ( x , y ) ] − E x ∼ D , y ∼ π [ β log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) ] = max ⁡ π E x ∼ D , y ∼ π [ r ( x , y ) − β log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) ] = min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) − 1 β r ( x , y ) ] \begin{align*} &\max_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}[r(x,y)] - \beta\mathbb{D}_{KL}[\pi(y|x)||\pi_{ref}(y|x)]\\ =&\max_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}[r(x,y)] - \mathbb{E}_{x\sim D,y\sim\pi}\left[\beta\log\frac{\pi(y|x)}{\pi_{ref}(y|x)}\right] \tag{1}\\ =&\max_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[r(x,y) - \beta\log\frac{\pi(y|x)}{\pi_{ref}(y|x)}\right] \tag{2}\\ =&\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi_{ref}(y|x)}-\frac{1}{\beta}r(x,y)\right] \tag{3} \end{align*} ===πmaxExD,yπ[r(x,y)]βDKL[π(yx)∣∣πref(yx)]πmaxExD,yπ[r(x,y)]ExD,yπ[βlogπref(yx)π(yx)]πmaxExD,yπ[r(x,y)βlogπref(yx)π(yx)]πminExD,yπ[logπref(yx)π(yx)β1r(x,y)](1)(2)(3)
步骤(1)是对KL散度的展开,步骤(3)是加了个负号然后除了一个 β \beta β,除以一个常数不影响参数更新,虽然写的等号但是其实不相等,不过这样做对结果没有影响。

后续步骤:
= min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) − log ⁡ exp ⁡ ( 1 β r ( x , y ) ) ] = min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) ] = min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) 1 Z ( x ) Z ( x ) ] = min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) 1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) − log ⁡ Z ( x ) ] \begin{align*} &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi_{ref}(y|x)}-\log\exp\left(\frac{1}{\beta}r(x,y)\right)\right] \tag{4}\\ &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}\right] \tag{5}\\ &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)\frac{1}{Z(x)}Z(x)}\right] \tag{6}\\ &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}-\log Z(x)\right] \tag{7} \end{align*} =πminExD,yπ[logπref(yx)π(yx)logexp(β1r(x,y))]=πminExD,yπ logπref(yx)exp(β1r(x,y))π(yx) =πminExD,yπ logπref(yx)exp(β1r(x,y))Z(x)1Z(x)π(yx) =πminExD,yπ logZ(x)1πref(yx)exp(β1r(x,y))π(yx)logZ(x) (4)(5)(6)(7)

步骤(4)对 r ( x , y ) r(x, y) r(x,y)同时取指数和对数,步骤(5)利用对数函数的性质,步骤(6)引入了一个 Z ( x ) Z(x) Z(x),由于是恒等变换,只要这个 Z ( x ) Z(x) Z(x)不等于0,取什么都是可以的,因此作者取 Z ( x ) = ∑ y π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) Z(x)=\sum_y \pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right) Z(x)=yπref(yx)exp(β1r(x,y)),为什么这么取,因为这么取完之后 π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) ∑ y π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) \frac{\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}{\sum_y\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)} yπref(yx)exp(β1r(x,y))πref(yx)exp(β1r(x,y))是一个概率, ∑ y π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) ∑ y π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) = 1 \sum_y{\frac{\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}{\sum_y\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}} = 1 yyπref(yx)exp(β1r(x,y))πref(yx)exp(β1r(x,y))=1

现在我们处理步骤(7)第一个log下面那一坨复杂的东西,不妨给它一个代号 π ∗ \pi^* π,即:
1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) = π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) ∑ y π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) = π ∗ ( y ∣ x ) \frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)=\frac{\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}{\sum_y\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}=\pi^*(y|x) Z(x)1πref(yx)exp(β1r(x,y))=yπref(yx)exp(β1r(x,y))πref(yx)exp(β1r(x,y))=π(yx)
先往下推理:
= min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π ∗ ( y ∣ x ) − log ⁡ Z ( x ) ] = min ⁡ π E x ∼ D , y ∼ π [ log ⁡ π ( y ∣ x ) π ∗ ( y ∣ x ) ] = min ⁡ π E x ∼ D [ D K L ( π ( y ∣ x ) ∣ ∣ π ∗ ( y ∣ x ) ) ] ⇒ π ( y ∣ x ) = π ∗ ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) \begin{align} &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi^*(y|x)}-\log Z(x)\right] \tag{8}\\ &=\min_{\pi} \mathbb{E}_{x\sim D,y\sim\pi}\left[\log\frac{\pi(y|x)}{\pi^*(y|x)}\right] \tag{9}\\ &=\min_{\pi} \mathbb{E}_{x\sim D}\left[\mathbb{D}_{KL}(\pi(y|x)||\pi^*(y|x))\right]\Rightarrow \pi(y|x)=\pi^*(y|x)=\frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right) \tag{10} \end{align} =πminExD,yπ[logπ(yx)π(yx)logZ(x)]=πminExD,yπ[logπ(yx)π(yx)]=πminExD[DKL(π(yx)∣∣π(yx))]π(yx)=π(yx)=Z(x)1πref(yx)exp(β1r(x,y))(8)(9)(10)
对于步骤9,我们要更新的是策略 π \pi π的参数,而 π r e f \pi_{ref} πref是参照模型,是不需要更新参数的,也就是说在优化目标式中它是一个常数,可以直接丢掉,对于步骤(10),我们发现步骤(9)就是符合KL散度定义的,其实不这么引入也行,要最小化步骤(9)的式子,我们使 π ( y ∣ x ) = π ∗ ( y ∣ x ) \pi(y|x)=\pi^*(y|x) π(yx)=π(yx)即可。因此得到了步骤(10)的最后一个式子也就是
π ( y ∣ x ) = π ∗ ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) \pi(y|x)=\pi^*(y|x)=\frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right) π(yx)=π(yx)=Z(x)1πref(yx)exp(β1r(x,y))
也就是
π ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) \pi(y|x)=\frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right) π(yx)=Z(x)1πref(yx)exp(β1r(x,y))
推理一下:
π ( y ∣ x ) = 1 Z ( x ) π r e f ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) ⇒ exp ⁡ ( 1 β r ( x , y ) ) = π ( y ∣ x ) π r e f ( y ∣ x ) Z ( x ) ⇒ r ( x , y ) = β ln ⁡ ( π ( y ∣ x ) π r e f ( y ∣ x ) Z ( x ) ) ⇒ r ( x , y ) = β ln ⁡ π ( y ∣ x ) π r e f ( y ∣ x ) + β ln ⁡ Z ( x ) \begin{align*} \pi(y|x)&=\frac{1}{Z(x)}\pi_{ref}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)\tag{1}\\ \Rightarrow\exp\left(\frac{1}{\beta}r(x,y)\right)&=\frac{\pi(y|x)}{\pi_{ref}(y|x)}Z(x)\tag{2}\\ \Rightarrow r(x,y)&=\beta\ln\left(\frac{\pi(y|x)}{\pi_{ref}(y|x)}Z(x)\right)\tag{3}\\ \Rightarrow r(x,y)&=\beta\ln\frac{\pi(y|x)}{\pi_{ref}(y|x)}+\beta\ln Z(x)\tag{4} \end{align*} π(yx)exp(β1r(x,y))r(x,y)r(x,y)=Z(x)1πref(yx)exp(β1r(x,y))=πref(yx)π(yx)Z(x)=βln(πref(yx)π(yx)Z(x))=βlnπref(yx)π(yx)+βlnZ(x)(1)(2)(3)(4)
那我们现在知道 r ( x , y ) r(x,y) r(x,y)了,我们之前提到过 P ( y w > y l ) = r ( x , y w ) r ( x , y w ) + r ( x , y l ) P(y_w > y_l)=\frac{r(x,y_w)}{r(x,y_w)+r(x,y_l)} P(yw>yl)=r(x,yw)+r(x,yl)r(x,yw)​,那给了我们很多偏好数据,也就是两两比较的数据,我们是不是也能对他们做一个最大似然估计呢?之前我们提到的Bradley-Terry模型的损失函数:
L o s s = = − ln ⁡ σ ( r ( x , y w ) − r ( x , y l ) ) Loss = =-\ln\sigma(r(x,y_w)-r(x,y_l)) Loss==lnσ(r(x,yw)r(x,yl))
这里将 r ( x , y ) r(x, y) r(x,y)带入
− ln ⁡ σ ( r ( x , y w ) − r ( x , y l ) ) = − ln ⁡ σ ( β ln ⁡ π ( y w ∣ x ) π r e f ( y w ∣ x ) + β ln ⁡ Z ( x ) − β ln ⁡ π ( y l ∣ x ) π r e f ( y l ∣ x ) − β ln ⁡ Z ( x ) ) = − ln ⁡ σ ( β ln ⁡ π ( y w ∣ x ) π r e f ( y w ∣ x ) − β ln ⁡ π ( y l ∣ x ) π r e f ( y l ∣ x ) ) \begin{align*} &-\ln\sigma(r(x,y_w)-r(x,y_l))\\ =&-\ln\sigma\left(\beta\ln\frac{\pi(y_w|x)}{\pi_{ref}(y_w|x)}+\beta\ln Z(x)-\beta\ln\frac{\pi(y_l|x)}{\pi_{ref}(y_l|x)}-\beta\ln Z(x)\right)\\ =&-\ln\sigma\left(\beta\ln\frac{\pi(y_w|x)}{\pi_{ref}(y_w|x)}-\beta\ln\frac{\pi(y_l|x)}{\pi_{ref}(y_l|x)}\right) \end{align*} ==lnσ(r(x,yw)r(x,yl))lnσ(βlnπref(ywx)π(ywx)+βlnZ(x)βlnπref(ylx)π(ylx)βlnZ(x))lnσ(βlnπref(ywx)π(ywx)βlnπref(ylx)π(ylx))

就得到了DPO的最终优化目标。

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

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

相关文章

C语言基础—构造类型

数据类型 1.基本类型/基础类型 整型 短整型:short[int] --2字节 基本整型:int --4字节 长整型:long[int] --32位4字节/64位8字节 长长整型:long long [int] (C99) 注意:以上类型又都分为sig…

什么是SQL作业

SQL作业是在数据库服务器上按特定时间或间隔自动执行的计划任务或流程,这些作业由Microsoft SQL Server中的SQL Server代理管理,对于自动执行日常任务(如数据库系统中的备份、数据导入和报告生成)以及确保及时准确地处理和更新数据…

【数据分享】基于联合国城市化程度框架的全球城市边界数据集(免费获取/Shp格式)

在全球城市化进程不断加快的今天,如何精准定义和测量“城市”成为关键问题。不同国家和机构采用不同的标准,导致全球城市化水平的统计结果存在较大差异。同时,由于数据来源分散、标准不统一,获取一套完整、可比的全球城市边界数据…

刘火良FreeRTOS内核实现与应用学习之6——多优先级

在FreeRTOS中,数字优先级越小,逻辑优先级也越小;在任务创建时,会根据任务的优先级将任务插入就绪列表不同的位置。 List_t pxReadyTasksLists[ configMAX_PRIORITIES ] 就绪列表是一个数组,数组中存储的是就绪任务TCB(…

生成信息提取的大型语言模型综述

摘要 信息提取(IE)旨在从简单的自然语言文本中提取结构知识。最近,生成型大型语言模型(LLMs)在文本理解和生成方面表现出了显著的能力。因此,已经提出了许多基于生成范式将LLM集成到IE任务中的工作。为了对…

简单谈谈很火的MCP( Model Context Protocol,模型上下文协议)

MCP( Model Context Protocol,模型上下文协议)是由Anthropic推出的开放协议,并非独立的大模型,而是连接大模型与外部工具/数据源的标准化接口‌,旨在解决AI工具开发中接口不统一、跨模型共享困难等问题。‌ 一、工作原理 MCP 协…

界面控件Telerik和Kendo UI 2025 Q1亮点——AI集成与数据可视化

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Kendo…

ollama迁移已下载的单个模型到服务器

ollama迁移已下载的单个模型到服务器 场景 ollama是面向用户级的,部署和运行都很简单,是否高效就另说了。但最起码,他能充分利用用户的硬件设备,在GPU不足也能调用cpu和内存去加持。 ollama运行的模型基本是量化版本的&#xf…

WebGL图形编程实战【3】:矩阵操控 × 从二维到三维的跨越

上一篇文章:WebGL图形编程实战【2】:动态着色 纹理贴图技术揭秘 仓库地址:github…、gitee… 矩阵操控 矩阵变换 回到前面关于平移缩放、旋转的例子当中,我们是通过改变传递进去的xy的值来改变的。 在进行基础变换的时候&…

并发编程--共享内存SHM

共享内存SHM 文章目录 共享内存SHM1. 基本概念2. 函数接口2.1 创建或打开SHM对象2.2 映射 / 解除映射SHM对象2.3 其余操作2.4示例代码 1. 基本概念 共享内存,顾名思义,就是通过不同进程共享一段相同的内存来达到通信的目的,由于SHM对象不再交…

Redis中的数据类型与适用场景

目录 前言1. 字符串 (String)1.1 特点1.2 适用场景 2. 哈希 (Hash)2.1 特点2.2 适用场景 3. 列表 (List)3.1 特点3.2 适用场景 4. 集合 (Set)4.1 特点4.2 适用场景 5. 有序集合 (Sorted Set)5.1 特点5.2 适用场景 6. Redis 数据类型的选型建议结语 前言 Redis 作为一款高性能的…

科技赋能建筑业变革:中建海龙创新引领高质量发展新路径

在建筑工业化浪潮中,中建海龙科技有限公司(以下简称“中建海龙”)凭借深厚的技术积累与持续创新,成为推动行业转型升级的标杆企业。作为中国建筑国际集团旗下核心科技力量,中建海龙深耕模块化集成建筑(MiC&…

Vue下 Sortable 实现 table 列表字段可拖拽排序,显示隐藏组件开发

vue 开发table 列表时&#xff0c;需要动态调整列字段的顺序和显示隐藏 实现效果如图所示&#xff1a; vue 组件代码 <template><div style"width: 90%; margin: 0 auto;"><el-table :data"tableData" border"" ref"table…

故障扭曲棱镜反射照片效果ps特效滤镜样机 Distorted Mirror Poster Effect

只需单击几下即可执行令人着迷的高质量图像和摄影&#xff01;此照片效果包含智能对象图层&#xff0c;提供完全自定义、易用性和多功能性的工作流程。只需双击其缩略图打开所需的图层&#xff0c;删除占位符镜头&#xff0c;添加图形&#xff0c;保存它&#xff0c;然后观看 P…

CARLA常见技术问题集锦(一)地图与场景构建篇

编者荐语&#xff1a; 在自动驾驶技术加速落地的今天&#xff0c;CARLA 仿真引擎凭借其开源生态与高保真仿真能力&#xff0c;已成为全球开发者构建智能驾驶算法的核心工具之一。随着虚幻引擎 5.5 的全面升级&#xff0c;CARLA 0.10.0 版本实现了视觉革命&#xff1a;Lumen 全…

JavaWeb——事务管理、AOP

目录 一、事管理 1.开启事务管理日志 2.开启事务管理 3.传播行为 二、AOP 1.通知类型 2.通知顺序 3.切入点表达式 4.连接点 一、事务管理 1.开启事务管理日志 2.开启事务管理 3.传播行为 当一个事务方法被另一个事务方法调用时&#xff0c;这个事物方法应该如何进行事…

【蓝桥杯每日一题】3.28

&#x1f3dd;️专栏&#xff1a; 【蓝桥杯备篇】 &#x1f305;主页&#xff1a; f狐o狸x "今天熬的夜&#xff0c;会变成明天奖状的闪光点&#xff01;" 目录 一、唯一的雪花 题目链接 题目描述 解题思路 解题代码 二、逛画展 题目链接 题目描述 解题思路 解题代…

进程间通信——信号量

进程间通信——信号量 目录 一、基本概念 1.1 概念 1.2 基本操作 1.3 相关函数 1.3.1 semget创建/获取 1.3.2 semop操作信号量 1.3.3 semctl初始化/删除 二、代码操作 2.1 不用PV的 2.2 用PV 的 2.2.1 a.c 2.2.2 b.c 2.2.3 sem.h 2.2.4 sem.c 一、基本概念 1.1…

Linux内核2-TFTP与NFS环境搭建

Uboot&#xff1a;引导程序 初始化硬件设备&#xff0c;初始化c语言环境&#xff0c;为内核加载做准备 zImage:内核文件 rootfs:文件系统&#xff0c;为用户提供一个与硬件设备数据交互的系统 1.TFTP和NFS功能 TFTP:简单文件传输协议网络配置 pc可以下载 2.minicom bootargs…

Crypto Architecture Kit简介

HarmonyOS 5.0.3(15) 版本的配套文档&#xff0c;该版本API能力级别为API 15 Release 文章目录 约束与限制能力范围基本概念与相关Kit的关系 Crypto Architecture Kit屏蔽了第三方密码学算法库实现差异的算法框架&#xff0c;提供加解密、签名验签、消息验证码、哈希、安全随机…