LLM基础知识

news2025/2/27 19:53:34

LLM背景知识介绍

1 大语言模型 (LLM) 背景

大语言模型 (英文:Large Language Model,缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。

img

💥通常,大语言模型 (LLM) 是指包含数千亿 (或更多) 参数的语言模型(目前定义参数量超过10B的模型为大语言模型),这些参数是在大量文本数据上训练的,例如模型 GPT-3、ChatGPT、PaLM、BLOOM和 LLaMA等.

💥截止2023年,语言模型发展走过了三个阶段:

  • 第一阶段 :设计一系列的自监督训练目标(MLM、NSP等),设计新颖的模型架构(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等;
  • 第二阶段 :逐步扩大模型参数和训练语料规模,探索不同类型的架构。典型代表是BART、T5、GPT-3等;
  • 第三阶段 :走向AIGC(Artificial Intelligent Generated Content)时代,模型参数规模步入千万亿,模型架构为自回归架构,大模型走向对话式、生成式、多模态时代,更加注重与人类交互进行对齐,实现可靠、安全、无毒的模型。典型代表是InstructionGPT、ChatGPT、Bard、GPT-4等。
2 语言模型 (Language Model, LM)

🗨️语言模型(Language Model)旨在建模词汇序列的生成概率,提升机器的语言智能水平,使机器能够模拟人类说话、写作的模式进行自动文本输出。

通俗理解: 用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率.

标准定义:对于某个句子序列, 如S = {W1, W2, W3, …, Wn}, 语言模型就是计算该序列发生的概率, 即P(S). 如果给定的词序列符合语用习惯, 则给出高概率, 否则给出低概率

举例说明:

  • 假设我们要为中文创建一个语言模型,

V

表示词典,

V

={大家、去、图书馆、学习},

Wi

属于

V

。语言模型描述:给定词典

V

, 能够计算出任意单词序列

S=W1,W2,W3,…,Wn

是一句话的概率

P(S)

, 其中

P>=0

  • 那么如何计算一个句子的

P(S)

呢?最简单的方法就是计数,假设数据集中共有

N

个句子,我们可以统计一下数据集中

S=W1,W2,W3,…,Wn

每个句子出现的次数,如果假设为

n

,则

P(S)=nN

. 那么可以想象一下,这个模型的预测能力几乎为0,一旦单词序列没在之前数据集中出现过,模型的输出概率就是0,显然相当不合理。

  • 我们可以根据概率论中的链式法则,将

P

可以表示为:

P(S)=P(W1,W2,…,Wn)=P(W1)∗P(W2|W1)∗…∗P(Wn|W1,W2,…,Wn−1)

如果能计算

P(Wn|W1,W2,…Wn−1)

,那么就能轻松得到

P(W1,W2,…,Wn)

, 所以在某些文献中,我们也可以看到语言模型的另外一个定义:能够计算出

P(W1,W2,…,Wn)

的模型就是语言模型。

从文本生成角度,也可以这样定义语言模型:给定一个短语(一个词组或者一句话),语言模型可以生成(预测)接下来的一个词。

基于语言模型技术的发展,可以将语言模型分为四种类型:

  • 基于规则和统计的语言模型
  • 神经语言模型
  • 预训练语言模型
  • 大语言模型
2.1 基于规则和统计的语言模型(N-gram)

由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析,这种建模方式也被称为N-gram语言模型。在上述例子中计算句子序列概率我们使用链式法则计算, 该方法存在两个缺陷:

  • 参数空间过大:条件概率

P(Wn|W1,W2,….Wn)

的可能性太多,无法估算,也不一定有用

  • 数据稀疏严重:许多词对的组合,在语料库中都没有出现,依据最大似然估计得到的概率为0

💯为了解决上述问题,引入马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的一个或者几个词有关。

  • 如果一个词的出现与它周围的词是独立的,那么我们就称之为unigram也就是一元语言模型.

P(S)=P(W1)∗P(W2)∗…∗P(Wn)

  • 如果一个词的出现仅依赖于它前面出现的一个词,那么我们就称之为bigram.

P(S)=P(W1)∗P(W2|W1)∗P(W3|W2)∗…∗P(Wn|Wn−1)

  • 如果一个词的出现仅依赖于它前面出现的两个词,那么我们就称之为trigram.

P(S)=P(W1)∗P(W2|W1)∗P(W3|W2,W1)∗…∗P(Wn|Wn−1,Wn−2)

  • 一般来说,N元模型就是假设当前词的出现概率只与它前面的N-1个词有关,而这些概率参数都是可以通过大规模语料库来计算,比如三元概率:

P(Wi|Wi−1,Wi−2)=Count(Wi−2Wi−1Wi)/Count(Wi−2Wi−1)


在实践中用的最多的就是bigram和trigram,接下来以bigram语言模型为例,理解其工作原理:

  • 首先我们准备一个语料库(简单理解让模型学习的数据集),为了计算对应的二元模型的参数,即

P(Wi|Wi−1)

,我们要先计数即

C(Wi−1,Wi)

,然后计数

C(Wi−1)

, 再用除法可得到概率。

  • 那么bigram语言模型针对上述语料的参数计算结果如何实现?假如,我想计算

P(想|我)≈0.38

,计算过程如下显示:(其他参数计算过程类似)

P(想|我)=C(我,想)C(我)=8002100≈0.38

  • 如果针对这个语料库的二元模型(bigram)建立好之后,就可以实现我们的目标计算。
  • 计算一个句子的概率,举例如下:

P(我想去打篮球)=P(想|我)∗P(去|想)∗P(打|去)∗P(篮球|打)=8002100∗600900∗6902000∗20800≈0.0022

  • 预测一句话最可能出现的下一个词汇,比如:我想去打【mask】? 思考:mask = 篮球 或者 mask = 晚饭。

P(我想去打篮球)=≈0.0022

P(我想去打晚饭)=≈0.00022

  • 可以看出

P(我想去打篮球)>P(我想去打晚饭)

,因此mask = 篮球,对比真实语境下,也符合人类习惯。


N-gram语言模型的特点:

  • 优点:采用极大似然估计, 参数易训练; 完全包含了前n-1个词的全部信息; 可解释性强, 直观易理解。
  • 缺点:缺乏长期以来,只能建模到前n-1个词; 随着n的增大,参数空间呈指数增长3.数据稀疏,难免会出现OOV问题; 单纯的基于统计频次,泛化能力差.

2.2 神经网络语言模型

💫伴随着神经网络技术的发展,人们开始尝试使用神经网络来建立语言模型进而解决N-gram语言模型存在的问题。

一个最基础的神经网络架构:

  • 模型的输入:

wt−n+1,…,wt−2,wt−1

就是前n-1个词。现在需要根据这已知的n-1个词预测下一个词

wt

C(w)

表示

w

所对应的词向量.

  • 网络的第一层(输入层)是将

C(wt−n+1),…,C(wt−2),C(wt−1)

这n-1个向量首尾拼接起来形成一个

(n−1)∗m

大小的向量,记作

x

.

  • 网络的第二层(隐藏层)就如同普通的神经网络,直接使用一个全连接层, 通过全连接层后再使用

tanh

这个激活函数进行处理。

  • 网络的第三层(输出层)一共有

V

个节点 (

V

代表语料的词汇),本质上这个输出层也是一个全连接层。每个输出节点

yi

表示下一个词语为

i

的未归一化log 概率。最后使用 softmax 激活函数将输出值

y

进行归一化。得到最大概率值,就是我们需要预测的结果。


神经网络特点:

  • 优点:利用神经网络去建模当前词出现的概率与其前 n-1 个词之间的约束关系,很显然这种方式相比 n-gram 具有更好的泛化能力,只要词表征足够好。从而很大程度地降低了数据稀疏带来的问题。
  • 缺点:对长序列的建模能力有限,可能会出现长距离遗忘以及训练时的梯度消失等问题,构建的模型难以进行稳定的长文本输出。

2.3 基于Transformer的预训练语言模型

💫Transformer模型由一些编码器和解码器层组成,学习复杂语义信息的能力强,很多主流预训练模型在提取特征时都会选择Transformer结构,并产生了一系列的基于Transformer的预训练模型,包括GPT、BERT、T5等.这些模型能够从大量的通用文本数据中学习大量的语言表示,并将这些知识运用到下游任务中,获得了较好的效果.


预训练语言模型的使用方式:

  • 预训练:预训练指建立基本的模型,先在一些比较基础的数据集、语料库上进行训练,然后按照具体任务训练,学习数据的普遍特征。
  • 微调:微调指在具体的下游任务中使用预训练好的模型进行迁移学习,以获取更好的泛化效果。

预训练语言模型的特点:

  • 优点:更强大的泛化能力,丰富的语义表示,可以有效防止过拟合。
  • 缺点:计算资源需求大,可解释性差等

2.4 大语言模型

随着对预训练语言模型研究的开展,人们逐渐发现可能存在一种标度定律(Scaling Law),即随着预训练模型参数的指数级提升,其语言模型性能也会线性上升。2020年,OpenAI发布了参数量高达1750亿的GPT-3,首次展示了大语言模型的性能。

相较于此前的参数量较小的预训练语言模型,例如,3.3亿参数的Bert-large和17亿参数的GPT-2,GPT-3展现了在Few-shot语言任务能力上的飞跃,并具备了预训练语言模型不具备的一些能力。后续将这种现象称为能力涌现。例如,GPT-3能进行上下文学习,在不调整权重的情况下仅依据用户给出的任务示例完成后续任务。这种能力方面的飞跃引发研究界在大语言模型上的研究热潮,各大科技巨头纷纷推出参数量巨大的语言模型,例如,Meta公司1300亿参数量的LLaMA模型以及谷歌公司5400亿参数量的PaLM。国内如百度推出的文心一言ERNIE系列、清华大学团队推出的GLM系列,等等。


大语言模型的特点:

  • 优点:像“人类”一样智能,具备了能与人类沟通聊天的能力,甚至具备了使用插件进行自动信息检索的能力
  • 缺点:参数量大,算力要求高、生成部分有害的、有偏见的内容等等

3 语言模型的评估指标
3.1 BLEU

BLEU (双语评估替补)分数是评估一种语言翻译成另一种语言的文本质量的指标。它将“质量”的好坏定义为与人类翻译结果的一致性程度。

BLEU算法实际上就是在判断两个句子的相似程度. BLEU 的分数取值范围是 0~1,分数越接近1,说明翻译的质量越高。

BLEU有许多变种,根据n-gram可以划分成多种评价指标,常见的评价指标有BLEU-1、BLEU-2、BLEU-3、BLEU-4四种,其中n-gram指的是连续的单词个数为n,BLEU-1衡量的是单词级别的准确性,更高阶的BLEU可以衡量句子的流畅性.实践中,通常是取N=1~4,然后对进行加权平均。


下面举例说计算过程:

  • 基本步骤:
    • 分别计算candidate句和reference句的N-grams模型,然后统计其匹配的个数,计算匹配度:
    • 公式:candidate和reference中匹配的 n−gram 的个数 /candidate中n−gram 的个数
  • 假设机器翻译的译文candidate和一个参考翻译reference如下:

代码语言:javascript

复制

candidate: It is a nice day today
reference: Today is a nice day
  • 使用1-gram进行匹配

代码语言:javascript

复制

candidate: {it, is, a, nice, day, today}
reference: {today, is, a, nice, day}
结果:
	其中{today, is, a, nice, day}匹配,所以匹配度为5/6
  • 使用2-gram进行匹配

代码语言:javascript

复制

candidate: {it is, is a, a nice, nice day, day today}
reference: {today is, is a, a nice, nice day}
结果:
	其中{is a, a nice, nice day}匹配,所以匹配度为3/5
  • 使用3-gram进行匹配

代码语言:javascript

复制

candidate: {it is a, is a nice, a nice day, nice day today}
reference: {today is a, is a nice, a nice day}

结果:
	其中{is a nice, a nice day}匹配,所以匹配度为2/4
  • 使用4-gram进行匹配

代码语言:javascript

复制

candidate: {it is a nice, is a nice day, a nice day today}
reference: {today is a nice, is a nice day}

结果:
	其中{is a nice day}匹配,所以匹配度为1/3

对匹配的N-grams计数进行修改,以确保它考虑到reference文本中单词的出现,而非奖励生成大量合理翻译单词的候选结果.

  • 举例说明:

代码语言:javascript

复制

candidate: the the the the
reference: The cat is standing on the ground
如果按照1-gram的方法进行匹配,则匹配度为1,显然是不合理的,所以计算某个词的出现次数进行改进
  • 将计算某个词的出现次数的方法改为计算某个词在译文中出现的最小次数,如下所示的公式:

countk=min(ck,sk)

  • 其中

k

表示在机器译文(candidate)中出现的第

k

个词语,

ck

则代表在机器译文中这个词语出现的次数,而

sk

则代表在人工译文(reference)中这个词语出现的次数。


python代码实现:

代码语言:javascript

复制

# 第一步安装nltk的包-->pip install nltk
from nltk.translate.bleu_score import sentence_bleu

def cumulative_bleu(reference, candidate):

    bleu_1_gram = sentence_bleu(reference, candidate, weights=(1, 0, 0, 0))
    bleu_2_gram = sentence_bleu(reference, candidate, weights=(0.5, 0.5, 0, 0))
    bleu_3_gram = sentence_bleu(reference, candidate, weights=(0.33, 0.33, 0.33, 0))
    bleu_4_gram = sentence_bleu(reference, candidate, weights=(0.25, 0.25, 0.25, 0.25))

    # print('bleu 1-gram: %f' % bleu_1_gram)
    # print('bleu 2-gram: %f' % bleu_2_gram)
    # print('bleu 3-gram: %f' % bleu_3_gram)
    # print('bleu 4-gram: %f' % bleu_4_gram)

    return bleu_1_gram, bleu_2_gram, bleu_3_gram, bleu_4_gram

# 生成文本
generated_text = "This is some generated text."

# 参考文本列表
reference_texts = ["This is a reference text.", "This is another reference text."]

# 计算 Bleu 指标
c_bleu = cumulative_bleu(reference_texts, generated_text)

# 打印结果

print("The Bleu score is:", c_bleu)
# The Bleu score is: (0.8571, 0.6900, 0.5711, 0.4920)
3.2 ROUGE

ROUGE指标是在机器翻译、自动摘要、问答生成等领域常见的评估指标。ROUGE通过将模型生成的摘要或者回答与参考答案(一般是人工生成的)进行比较计算,得到对应的得分。

ROUGE指标与BLEU指标非常类似,均可用来衡量生成结果和标准结果的匹配程度,不同的是ROUGE基于召回率,BLEU更看重准确率。

ROUGE分为四种方法:ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S.


下面举例说计算过程(这里只介绍ROUGE_N):

  • 基本步骤:
    • Rouge-N实际上是将模型生成的结果和标准结果按N-gram拆分后,计算召回率
  • 假设模型生成的文本candidate和一个参考文本reference如下:

代码语言:javascript

复制

candidate: It is a nice day today
reference: Today is a nice day
  • 使用ROUGE-1进行匹配

代码语言:javascript

复制

candidate: {it, is, a, nice, day, today}
reference: {today, is, a, nice, day}
结果:
	:其中{today, is, a, nice, day}匹配,所以匹配度为5/5=1,这说明生成的内容完全覆盖了参考文本中的所有单词,质量较高。
  • 通过类似的方法,可以计算出其他ROUGE指标(如ROUGE-2、ROUGE-L、ROUGE-S)的评分,从而综合评估系统生成的文本质量。

python代码实现:

代码语言:javascript

复制

# 第一步:安装rouge-->pip install rouge
import Rouge

# 生成文本
generated_text = "This is some generated text."

# 参考文本列表
reference_texts = ["This is a reference text.", "This is another generated reference text."]

# 计算 ROUGE 指标
rouge = Rouge()
scores = rouge.get_scores(generated_text, reference_texts[1])

# 打印结果
print("ROUGE-1 precision:", scores[0]["rouge-1"]["p"])
print("ROUGE-1 recall:", scores[0]["rouge-1"]["r"])
print("ROUGE-1 F1 score:", scores[0]["rouge-1"]["f"])
# ROUGE-1 precision: 0.8
# ROUGE-1 recall: 0.6666666666666666
# ROUGE-1 F1 score: 0.7272727223140496

3.3 困惑度PPL(perplexity)

PPL用来度量一个概率分布或概率模型预测样本的好坏程度。

PPL基本思想:

  • 给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好.
  • 基本公式(两种方式):

img

img

  • 由公式可知,句子概率越大,语言模型越好,迷惑度越小。

python代码实现:

代码语言:javascript

复制

import math
# 定义语料库
sentences = [
['I', 'have', 'a', 'pen'],
['He', 'has', 'a', 'book'],
['She', 'has', 'a', 'cat']
]
# 定义语言模型
unigram = {
'I': 1/11,
'have': 1/11,
'a': 3/11,
'pen': 1/11,
'He': 1/11,
'has': 2/11,
'book': 1/11,
'She': 1/11,
'cat': 1/11
}
# 计算困惑度
perplexity = 0
for sentence in sentences:
    sentence_prob = 1
    for word in sentence:
        sentence_prob *= unigram[word]
    sentence_perplexity = 1/sentence_prob
    perplexity += math.log(sentence_perplexity, 2) #以2为底
perplexity = 2 ** (-perplexity/len(sentences))
print('困惑度为:', perplexity)
# 困惑度为: 0.000325
💯小结
  • 本小节主要介绍LLM的背景知识,了解目前LLM发展基本历程
  • 对语言模型的类别分别进行了介绍,如基于统计的N-gram模型,以及深度学习的神经网络模型

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

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

相关文章

vivado HW_TARGET

HW_目标 描述 硬件目标hw_target是包含一个或多个JTAG链的系统板 Xilinx FPGA设备,您可以使用比特流文件进行编程,或用于调试您的设计。 系统板上的硬件目标与Vivado Design Suite之间的连接 由硬件服务器对象hw_server管理。 使用open_hw_target命令打开…

三款有3D效果的js图表库

1、G2简洁的渐进式可视化语法。https://g2.antv.antgroup.com/manual/extra-topics/3d-charts 2、 https://www.highcharts.com/https://www.highcharts.com/ 3、https://www.fusioncharts.com/charts/pie-doughnut-charts/donut-chart-in-3d?frameworkjavascripthttps://www…

聚鼎科技:现在的装饰画做起来难吗

在当代,装饰画作为一种体现个人品味和审美情趣的方式,已经广泛应用于各种室内空间。不少人会产生这样的疑问:在现代化技术和材料的支持下,制作一幅装饰画是变得容易了,还是依旧充满挑战? 现代科技的确为装饰画的制作带…

STM32项目分享:OV7670将图片上传电脑

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…

tailwindcss的@apply使用

tailwindcss的apply是把在html写的tailwindcss可以挪到style里面 简化页面的可读性 没写之前的 <section class"block-risk absolute flex flex-col items-center p-4 text-center left-0 text-white;" :style"{ top, left: 60px }"> </section…

【秋招突围】2024届秋招笔试-阿里系列笔试题-第二套-三语言题解(Java/Cpp/Python)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f4e7; 清隆这边…

基于Ascend C的FlashAttention算子性能优化最佳实践

LLM的Attention部分处理给计算系统带来巨大的计算和访存压力。业界先后出现FlashAttention、FlashAttention2等算法&#xff0c;通过计算等价和切分有效降低HBM数据访问量。 昇腾异构计算架构CANN针对昇腾AI处理器的片上内存和缓存大小&#xff0c;以及数据搬运通路&#xff0…

ozon如何上架产品,ozon平台怎么上架产品

在电子商务领域&#xff0c;产品上架是商家成功运营的关键步骤之一。对于正在或计划进军俄罗斯市场的卖家来说&#xff0c;了解如何在Ozon平台高效上架产品至关重要。接下来讲解下ozon如何上架产品&#xff0c;ozon平台怎么上架产品&#xff01; 产品上架工具&#xff1a;D.DDq…

基础-02-数据通信基础

文章目录 1.信道特征1.1 数据通信概念1.2 信道特性-信道带宽W1.3 信道特性-码元和码元速率1.4 信道特性-奈奎斯特定理1.5 信道特性-香农定理1.6 带宽/码元速率/数据速率关系梳理1.7 练习题 2.信道延迟2.1 信道延迟概念2.2 信道延迟计算2.3 练习题 3. 传输介质3.1 传输介质概念3…

电脑屏幕监控软件有哪些?2025年监控软件排行榜

电脑屏幕监控软件有哪些&#xff1f;2025年监控软件排行榜 虽然现在还是2024年&#xff0c;但是有一些被广泛讨论和推荐的电脑屏幕监控软件&#xff0c;它们将在2025年异军突起&#xff0c;成为行业的引领者。 1.安企神软件&#xff1a; 功能全面的电脑屏幕监控软件&#xf…

短视频矩阵系统/源码搭建---拆解热门视频功能开发上线

短视频矩阵系统/源码搭建 一、短视频矩阵系统源码开发需要用到以下技术&#xff1a; 1.前端技术&#xff1a;HTML、CSS、JavaScript、Vue.js等前端框架。 2.后端技术&#xff1a;Java、Python、PHP等后端语言及相关框架&#xff0c;如Spring Boot、Django、Laravel等。 3.移…

火车头采集怎么使用GPT等AI原创文章

火车头采集官方并没有GPT、百度文心一言AI、阿里通义千问AI、Kimi大模型等AI功能&#xff0c;但支持接入插件&#xff0c;可以编写相应人工智能AI原创文章插件&#xff08;火车头采集支持PHP和c#这2种语言的插件编写&#xff09;&#xff0c;或者导入第三方封装好的GPT等AI原创…

文件操作学不懂,小代老师带你深入理解文件操作(下卷)

文件操作学不懂&#xff0c;小代老师带你深入理解文件操作下卷 6. ⽂件的随机读写6.1 fseek6.2 ftell6.3 rewind 7. ⽂件读取结束的判定7.1 被错误使⽤的 feof 8. ⽂件缓冲区 6. ⽂件的随机读写 6.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针&#xff08;⽂件内容的光…

RV32F\RV32D指令集

RV32F\RV32D指令集 F扩展1、浮点控制状态寄存器2、指令类型F扩展 F扩展增加了32个浮点寄存器f0-f31,每个32位宽,以及一个浮点控制和状态寄存器fcsr,其中包含浮点单元的工作模式和异常状态。FLEN=32表示F单精度浮点扩展,大多数浮点指令对浮点寄存器中的值进行操作。浮点加载…

苹果AI入华探讨及Apple Intelligence体验分析

引言 近日&#xff0c;苹果在WWDC 2024上引起了广泛关注。尽管苹果在发布会上并未明确提到“AI”一词&#xff0c;但从其展示的众多新功能中可以看出&#xff0c;AI已深深嵌入到其产品中。那么&#xff0c;苹果AI何时能在中国落地&#xff1f;它的模型大小是多少&#xff1f;用…

appproxy 一个轻量级的VPN代理工具,支持HTTP, SOCKS5协议

appproxy 项目背景 在分析app的时候,偶尔需要抓包,尝试了目前比较常见的代理工具Drony Postern ProxyDroid 发现都有一个相同的问题,对于较新的Android系统不太友好,要么app列表显示不正常,或者界面过于复杂,往往设置之后经常会失效,偶然在play上发现一个比较新的代理工具,界…

沉睡而且“狡猾”的特工:大模型也可以是!

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提…

JVC摄像机SD卡变成RAW的恢复方法

JVC小日本胜利公司&#xff0c;公司名字绕口且产品线极广&#xff0c;涉及汽车、影音、娱乐……&#xff0c;而JVC在摄像机产品方面也有涉及&#xff0c;不过市场上极为少见。下边我们来看下这个JVC摄像机MP4恢复案例。 故障存储: 32G存储卡 RAW文件系统 故障现象: 客户无…

通配符SSL证书的应用范围

首先带大家先来了解一下通配符SSL证书&#xff1a; 通配符证书又名泛域名证书&#xff0c;是一种SSL/TLS证书&#xff0c;用于保护多个域名或无限多个域名。是由域名字段中的通配符*表示。通配符证书最大的亮点在于可以通过绑定一个主域名&#xff0c;从而间接绑定无数的次级子…

性能测试常见的内存溢出问题: JVM 内存溢出如何调优?

针对java项目做性能测试的时候,很多同学都见过一个报错,就是OOM【Out Of MemoryError】;那出现这种报错就是项目发生了内存溢出的问题,这是比较严重的性能问题。所以,作为一个性能测试工程师,我们要能够分析JVM内存的问题以及理解其中的原理,才能更好的给JVM内存出现的性…