추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

PHPz
풀어 주다: 2024-08-09 13:09:05
원래의
1078명이 탐색했습니다.

Mitchell Stern과 다른 사람들은 2018년에 추측 샘플링의 프로토타입 개념을 제안했습니다. 이 접근 방식은 이후 Lookahead Decoding, REST, MedusaEAGLE을 포함한 다양한 작업에 의해 더욱 개발되고 개선되었습니다. 여기서 추측 샘플링은 LLM(대형 언어 모델)의 추론 프로세스 속도를 크게 향상시킵니다.

중요한 질문은 LLM의 추측 샘플링이 원래 모델의 정확성을 손상시키는가입니다. 대답부터 시작하겠습니다. 아니요.

표준 추측 샘플링 알고리즘은 무손실이며, 이 글에서는 수학적 분석과 실험을 통해 이를 증명할 것입니다.

수학적 증명

추측 샘플링 공식은 다음과 같이 정의할 수 있습니다.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

여기서:

  • ?은 균일 분포에서 샘플링된 실수입니다.
  • 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?은 예측할 다음 토큰입니다.
  • ?(?)는 초안 모델에서 제공하는 다음 토큰 배포입니다.
  • ?(?)는 기본 모델에서 제공하는 다음 토큰 배포입니다.

간단하게 하기 위해 확률 조건을 생략합니다. 실제로 ? 및 ?는 접두사 토큰 시퀀스 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?를 기반으로 하는 조건부 배포입니다.

다음은 DeepMind 논문에 있는 이 공식의 무손실 증명입니다.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

수학 방정식을 읽는 것이 너무 지루하다고 생각되면 다음으로 직관적인 다이어그램을 통해 증명 과정을 설명하겠습니다.

초안 모델 ?과 기본 모델 ?의 분포도입니다.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

그림 1: 초안 모델 p와 기본 모델 q의 출력 분포의 확률 밀도 함수

주의해야 할 점 이것은 단지 이상적인 차트일 뿐입니다. 실제로 우리가 계산하는 것은 다음과 같은 이산 분포입니다.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

그림 2: 언어 모델은 어휘 세트에 있는 각 토큰의 이산 확률 분포를 예측하고 파란색 막대는 초안 모델에서 가져온 것입니다. 빨간색 막대는 기본 모델에서 가져온 것입니다.

그러나 단순성과 명확성을 위해 연속 근사법을 사용하여 이 문제를 논의합니다.

이제 질문은 분포 ? 에서 샘플링하지만 최종 결과는 ? 에서 샘플링한 것과 같기를 원한다는 것입니다. 핵심 아이디어는 빨간색 영역의 확률을 노란색 영역으로 이동하는 것입니다.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

그림 3: 합격 및 거부 샘플링 영역

대상 분포 ? 두 부분의 합으로 볼 수 있습니다:

I. 수락

이 분기에는 두 가지 독립적인 이벤트가 있습니다.

  1. 초안 배포에 대한 샘플링은 특정 토큰을 생성합니까? 확률은 ?(?)
  2. 랜덤 변수 ? 토큰을 수락합니다. 확률은 다음과 같습니다. 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

다음 확률을 곱합니다. 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

그림 4: 파란색 선과 빨간색 선을 곱하면 결과는 그림 6의 녹색 선이 됩니다.

II 이 분기에는 검증 거부

가 있습니다. 또한 두 개의 독립적인 이벤트:

  1. ?는 ?에서 특정 토큰을 거부합니다. 확률은 다음과 같습니다. 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

이것은 정수 값이며 이 값은 특정 토큰과 아무 관련이 없습니다. x

  1. 는 양수입니다. 분포 ?−?( 부분) 업샘플링은 특정 토큰을 생성합니까?, 확률은 다음과 같습니다:

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

其分母作用是对概率分布进行归一化,以保持概率密度积分等于 1。

两项相乘,第二项的分母被约掉:

max(0,?(?)−?(?))

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

图5. 该图中的红线与绿线对应函数相乘,结果等于图6中的红线

为什么拒绝概率恰好可以归一化max(0,?−?) ?看起来似乎是巧合,这里一个重要的观察是,图 3 中红色区域的面积等于黄色区域的面积,因为所有概率密度函数的积分都等于 1。

将I, II两部分相加: 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

最后,我们得到了目标分布 ?。

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

图6. 绿色区域与红色区域相加,正好等于黄线以下的面积

而这正是我们的目标。

实验

尽管我们已经从原理上证明了投机采样是无损的,但算法的实现仍然可能存在bug。因此,实验验证也是必要的。

我们对两种情况进行了实验:贪婪解码的确定性方法和多项式采样的随机方法。

贪婪解码

我们要求 LLM 生成两次短篇故事,首先使用普通推理,然后使用投机采样。两次采样温度均设置为 0。我们使用了 Medusa 中的投机采样实现。模型权重为 medusa-1.0-vicuna-7b-v1.5 及其基础模型 vicuna-7b-v1.5

测试运行完成后,我们得到了两个精确相同的结果。生成的文本如下:

User: Please tell a tale about a cyperpunk knight named PPIO keeps a charming llama as his pet.

Assistant: Once upon a time, in a world where technology had advanced beyond our wildest dreams, there lived a cyberpunk knight named PPIO. PPIO was a skilled warrior, with advanced cybernetic enhancements that gave him incredible strength and speed. He was also a man of great honor, always striving to do what was right and just.

One day, while out on a mission, PPIO stumbled upon a beautiful llama. Despite being a cybernetic being, PPIO had a soft spot for animals and he couldn't resist rescuing the llama from whatever danger it may have been in. From that day on, the llama followed PPIO wherever he went, and the two became fast friends.

The llama, whose name was Llama-ella, was a special llama. It had a unique ability to sense when someone was in danger and would let out a loud, distinctive call to alert them to the danger. PPIO was grateful for Llama-ella's ability and the two became an unstoppable team.

Together, PPIO and Llama-ella took on all sorts of challenges, from battling cybernetic villains to rescuing innocent people from harm. They were a force to be reckoned with, and their bravery and honor were an inspiration to all who knew them.

多项式采样

在随机采样的情况下,情况更加复杂。大多数在随机程序中重现结果的方法都使用固定的随机种子来利用伪随机生成器的确定性。但是,这种方法不适合我们的场景。我们的实验依赖于大数定律:如果有足够的样本,则实际分布与理论分布之间的误差将收敛于零。

我们编制了四个提示文本,对LLM在每个提示下生成的首个token进行了 1,000,000 次投机采样迭代。使用的模型权重为 Llama3 8B Instruct 和 EAGLE-LLaMA3-Instruct-8B。统计结果如下所示:

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?

🔜 Anteil der ersten Token-Zählung von Die Standardabweichung zwischen dem Ausgabeergebnis des Basismodells und der Stichprobenverteilung beträgt 9,694e-5. Wie erwartet.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?Fazit

Spekulatives Sampling schadet der Inferenzgenauigkeit großer Sprachmodelle nicht. Durch strenge mathematische Analysen und praktische Experimente demonstrieren wir die verlustfreie Natur des standardmäßigen spekulativen Stichprobenalgorithmus. Der mathematische Beweis zeigt, wie die spekulative Stichprobenformel die ursprüngliche Verteilung des zugrunde liegenden Modells bewahrt. Unsere Experimente, einschließlich deterministischer Greedy-Dekodierung und probabilistischer Polynomstichproben, bestätigen diese theoretischen Erkenntnisse weiter. Das Greedy-Decoding-Experiment lieferte mit und ohne spekulatives Sampling die gleichen Ergebnisse, während das Polynom-Sampling-Experiment zeigte, dass der Unterschied in der Token-Verteilung über eine große Anzahl von Stichproben hinweg vernachlässigbar ist.

추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?Zusammengenommen zeigen diese Ergebnisse, dass spekulative Stichproben die LLM-Inferenz ohne Einbußen bei der Genauigkeit erheblich beschleunigen können, was den Weg für effizientere und zugänglichere KI-Systeme in der Zukunft ebnet.

위 내용은 추측 샘플링이 대규모 언어 모델의 추론 정확도를 잃을까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jiqizhixin.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿