ChatGPT와 같은 대화형 AI의 출현으로 사람들은 텍스트나 코드, 그림을 입력하면 대화형 로봇이 원하는 답변을 제공하는 이런 종류의 일에 익숙해졌습니다. 하지만 이 간단한 상호 작용 방법 뒤에는 AI 모델이 매우 복잡한 데이터 처리 및 계산을 수행해야 하며 토큰화가 일반적입니다.
자연어 처리 분야에서 토큰화는 텍스트 입력을 "토큰"이라는 더 작은 단위로 나누는 것을 의미합니다. 이러한 토큰은 특정 단어 분할 전략 및 작업 요구 사항에 따라 단어, 하위 단어 또는 문자가 될 수 있습니다. 예를 들어 "I like eating apples"라는 문장에 대해 토큰화를 수행하면 ["I", "Like", "Eat", "Apple"]와 같은 일련의 토큰을 얻게 됩니다. 어떤 사람들은 토큰화를 "단어 분할"로 번역하지만, 어떤 사람들은 이 번역이 결국 우리가 매일 이해하는 "단어"가 아닐 수도 있다고 생각합니다.
이미지 출처: https://towardsdatascience.com/dynamic-word-tokenization-with-regex-tokenizer-801ae839d1cd
토큰화의 목적은 입력 데이터를 무언가로 변환하는 것입니다. 컴퓨터는 후속 모델 교육 및 분석을 위해 양식을 처리하고 구조화된 표현을 제공할 수 있습니다. 이 방법은 딥러닝 연구에 편리함을 가져다 주지만 많은 어려움을 안겨주기도 합니다. 얼마 전 OpenAI에 막 합류한 Andrej Karpathy는 그 중 몇 가지를 지적했습니다.
우선 Karpathy는 토큰화가 복잡성을 가져온다고 믿습니다. 즉, 토큰화를 사용하면 언어 모델이 완전한 엔드투엔드 모델이 아닙니다. 자체 교육 및 추론 프로세스가 있고 추가 라이브러리가 필요한 토큰화를 위한 별도의 단계가 필요합니다. 이는 다른 양식의 데이터를 도입하는 복잡성을 증가시킵니다.
또한 일부 시나리오에서는 토큰화로 인해 모델 오류가 발생하기 쉽습니다. 예를 들어 텍스트 완성 API를 사용할 때 프롬프트가 공백으로 끝나는 경우 얻을 수 있는 결과는 매우 다를 수 있습니다. 다른. .
이미지 출처: https://blog.scottlogic.com/2021/08/31/a-primer-on-the-openai-api-1.html
다시 예를 들어, 토큰화가 존재하기 때문에 강력한 ChatGPT는 단어를 거꾸로 쓰지 않습니다(다음 테스트 결과는 GPT 3.5의 것입니다).
이와 같은 예는 더 많이 있을 수 있습니다. Karpathy는 이러한 문제를 해결하려면 먼저 토큰화를 포기해야 한다고 믿습니다.
Meta AI가 발표한 새로운 논문에서는 이 질문을 탐구합니다. 구체적으로 그들은 100만 바이트를 초과하는 시퀀스의 종단 간 미분 모델링을 수행할 수 있는 "MEGABYTE"라는 다중 규모 디코더 아키텍처를 제안했습니다.
논문 링크: https://arxiv.org/pdf/2305.07185.pdf
중요하게, 이 논문은 토큰화 포기의 타당성을 보여주며, Karpathy로부터 "유망하다"라는 평가를 받았습니다. ".
다음은 논문의 내용입니다.
머신러닝 기사에서 언급했듯이, 머신러닝이 여러 가지 복잡한 문제를 해결할 수 있는 것처럼 보이는 이유는 이러한 문제를 수학적인 문제로 변환하기 때문입니다.
그리고 NLP도 같은 생각을 갖고 있습니다. 텍스트는 모두 "구조화되지 않은 데이터"입니다. 먼저 이러한 데이터를 "구조화된 데이터"로 변환해야 합니다. 그런 다음 구조화된 데이터를 수학 문제로 변환할 수 있습니다. 변신의 첫걸음.
self-attention 메커니즘과 대규모 피드포워드 네트워크의 높은 비용으로 인해 LLM(대형 변환기 디코더)은 일반적으로 수천 개의 컨텍스트 토큰만 사용합니다. 이는 LLM을 적용할 수 있는 작업 집합을 심각하게 제한합니다.
이를 바탕으로 Meta AI 연구진은 긴 바이트 시퀀스를 모델링하는 새로운 방법인 MEGABYTE를 제안했습니다. 이 방법은 토큰과 유사하게 바이트 시퀀스를 고정 크기 패치로 나눕니다.
MEGABYTE 모델은 세 부분으로 구성됩니다.
결정적으로 연구에서는 많은 작업에서 대부분의 바이트가 상대적으로 예측하기 쉽다는 사실을 발견했습니다(예: 처음 몇 글자가 주어진 단어 완성). 즉, 바이트가 대규모 신경망을 사용하므로 바이트가 필요하지 않음을 의미합니다. 그러나 패치 내 모델링에는 훨씬 더 작은 모델을 사용할 수 있습니다.
MEGABYTE 아키텍처는 긴 시퀀스 모델링을 위해 Transformer에 세 가지 주요 개선 사항을 적용했습니다.
sub-quadratic self-attention. 긴 시퀀스 모델에 대한 대부분의 작업은 self-attention의 2차 비용을 줄이는 데 중점을 둡니다. MEGABYTE는 긴 시퀀스를 두 개의 짧은 시퀀스와 최적의 패치 크기로 분해하여 self-attention 메커니즘의 비용을 로 줄여 긴 시퀀스도 쉽게 처리할 수 있도록 합니다.
패치당 피드포워드 레이어. GPT-3과 같은 매우 큰 모델에서는 FLOPS의 98% 이상이 위치별 피드포워드 레이어를 계산하는 데 사용됩니다. MEGABYTE는 위치별 대신 패치당 대규모 피드포워드 레이어를 사용하여 동일한 비용으로 더 크고 표현력이 뛰어난 모델을 가능하게 합니다. 패치 크기 P를 사용하면 기본 변환기는 m 매개변수가 있는 동일한 피드포워드 레이어를 P번 사용하는 반면, MEGABYTE는 동일한 비용으로 mP 매개변수가 있는 레이어를 한 번만 사용하면 됩니다.
3. 병렬 디코딩. 각 시간 단계의 입력은 이전 시간 단계의 출력이기 때문에 변환기는 생성 중에 모든 계산을 순차적으로 수행해야 합니다. 패치 표현을 병렬로 생성함으로써 MEGABYTE는 생성 프로세스에서 더 큰 병렬성을 달성합니다. 예를 들어, 1.5B 매개변수가 있는 MEGABYTE 모델은 표준 350M 매개변수 변환기보다 40% 더 빠르게 시퀀스를 생성하는 동시에 동일한 계산을 사용하여 훈련할 때 복잡성을 개선합니다.
전반적으로 MEGABYTE를 사용하면 동일한 컴퓨팅 예산으로 더 크고 더 나은 성능의 모델을 훈련할 수 있고 매우 긴 시퀀스를 처리할 수 있으며 배포 중에 빌드 속도를 높일 수 있습니다.
MEGABYTE는 또한 일반적으로 바이트 시퀀스가 더 큰 개별 토큰에 매핑되는 일종의 토큰화 형식을 사용하는 기존 자동 회귀 모델과 대조됩니다(Sennrich et al., 2015; Ramesh et al., 2021; Hsu et al., 2021). 토큰화는 전처리, 다중 모드 모델링, 새로운 도메인으로의 이전을 복잡하게 만드는 동시에 모델에 유용한 구조를 숨깁니다. 이는 대부분의 SOTA 모델이 진정한 엔드투엔드 모델이 아니라는 것을 의미합니다. 가장 널리 사용되는 토큰화 방법은 언어별 휴리스틱(Radford et al., 2019) 또는 정보 손실(Ramesh et al., 2021)을 사용해야 합니다. 따라서 토큰화를 효율적이고 성능이 뛰어난 바이트 모델로 대체하면 많은 이점이 있습니다.
이 연구에서는 MEGABYTE 및 일부 강력한 기본 모델에 대한 실험을 수행했습니다. 실험 결과에 따르면 MEGABYTE는 긴 컨텍스트 언어 모델링에서 하위 단어 모델과 비슷한 성능을 발휘하고 ImageNet에서 최첨단 밀도 추정 복잡성을 달성하며 원시 오디오 파일에서 오디오 모델링을 허용하는 것으로 나타났습니다. 이러한 실험 결과는 대규모 토큰화가 필요 없는 자동 회귀 시퀀스 모델링의 타당성을 보여줍니다.
패치 임베더
P 크기의 패치 임베더는 바이트 시퀀스를 바이트 시퀀스할 수 있습니다.
은
길이로 매핑됩니다.
, 차원이
인 패치 삽입 시퀀스.
먼저 각 바이트는 조회 테이블
에 포함되어 D_G 크기의 임베딩을 형성하고 위치 임베딩이 추가됩니다.
그런 다음 바이트 임베딩은
차원의 K 패치 임베딩 시퀀스로 재구성됩니다. 자동 회귀 모델링을 허용하기 위해 패치 시퀀스는 학습 가능한 패치 크기에서 패딩된 임베딩(
)으로 패딩된 다음 마지막 패치가 입력에서 제거됩니다. 이 시퀀스는
글로벌 모듈
으로 표시되는 글로벌 모델에 대한 입력입니다.글로벌 모듈은 k 패치 시퀀스에서 작동하는 디코더 전용 아키텍처 P・D_G 차원 변환기 모델입니다. 글로벌 모듈은 self-attention 메커니즘과 인과 마스크를 결합하여 패치 간의 종속성을 캡처합니다. 전역 모듈은 k 패치 시퀀스의 표현을 입력하고(
), 이전 패치에 대해 self-attention을 수행하여 업데이트된 표현을
출력합니다. 최종 전역 모듈
에는 P・D_G 차원의 K 패치 표현이 포함되어 있습니다. 이들 각각에 대해 길이 P와 차원 D_G의 시퀀스로 재구성했습니다. 여기서 위치 p는 차원 p·D_G에서 (p + 1)·D_G를 사용합니다. 그런 다음 각 위치는 행렬
을 사용하여 로컬 모듈 차원에 매핑됩니다. 여기서 D_L은 로컬 모듈 차원입니다. 그런 다음 다음
토큰에 대해 D_L 크기의 바이트 임베딩과 결합됩니다.
로컬 바이트 임베딩은 훈련 가능한 로컬 패드 임베딩(E^local-pad ∈ R^DL)을 통해 1만큼 오프셋되어 경로에서 자동 회귀 모델링을 허용합니다. 최종 텐서
로컬 모듈
은 Run을 포함하는 더 작은 디코더 전용 아키텍처 D_L 차원 변환기 모델입니다. 단일 패치 k에서 P 요소의 각 요소는 전역 모듈 출력의 합계와 시퀀스에 이전 바이트가 포함된 것입니다. 로컬 모듈의 K 복사본은 각 패치에서 독립적으로 실행되고 훈련 중에 병렬로 실행되어 표현을 계산합니다.
마지막으로 연구원은 각 위치에 대한 어휘 확률 분포를 계산할 수 있습니다. k번째 패치의 p번째 요소는 전체 시퀀스의 요소 t에 해당합니다. 여기서 t = k·P + p입니다.
교육 효율성
연구원들은 시퀀스 길이와 모델 크기를 확장할 때 다양한 아키텍처의 비용을 분석했습니다. 아래 그림 3에서 볼 수 있듯이 MEGABYTE 아키텍처는 다양한 모델 크기와 시퀀스 길이에 걸쳐 비슷한 크기의 변환기 및 선형 변환기보다 더 적은 FLOPS를 사용하므로 동일한 계산 비용으로 더 큰 모델을 사용할 수 있습니다.
발전 효율
MEGABYTE 모델을 생각해 보세요. 글로벌 모델에는 L_global 레이어가 있고, 로컬 모듈에는 L_local 레이어가 있고, 패치 크기는 P이고, L_local + Transformer가 있습니다. L_global 레이어의 아키텍처를 비교합니다. MEGABYTE로 각 패치를 생성하려면 O(L_global + P・L_local) 일련의 직렬 작업이 필요합니다. L_global ≥ L_local(전역 모듈이 로컬 모듈보다 더 많은 레이어를 가짐)인 경우 MEGABYTE는 추론 비용을 거의 P배 줄일 수 있습니다.
언어 모델링
연구원들은 장거리 종속성을 강조하는 5가지 데이터 세트, 즉 Project Gutenberg(PG-19), Books, Stories, arXiv 및 코드. 결과는 아래 표 7에 나와 있으며, MEGABYTE는 모든 데이터 세트에서 베이스라인 변환기와 PerceiverAR을 지속적으로 능가합니다.
연구원들은 또한 PG-19에 대한 훈련 데이터를 확장했습니다. 결과는 아래 표 8에 나와 있으며 하위 단어에 대한 훈련 데이터와 비교할 수 있습니다. SOTA 모델에.
이미지 모델링
연구원들은 ImageNet 64x64 데이터세트에서 대규모 MEGABYTE 모델을 훈련시켰습니다. 여기서 글로벌 및 로컬 모듈의 매개변수는 각각 2.7B와 350M이고 1.4입니다. T 토큰. 그들은 Hawthorne 외, 2022년 논문에서 최고의 PerceiverAR 모델을 재현하는 데 필요한 GPU 시간의 절반 미만이 모델 훈련에 소요된다고 추정합니다. 위의 표 8에서 볼 수 있듯이 MEGABYTE는 PerceiverAR의 SOTA에 비해 성능이 비슷하지만 후자 계산의 절반만 사용합니다.
연구원들은 바닐라, PerceiverAR 및 MEGABYTE라는 세 가지 변형 변형을 비교하여 점점 더 커지는 이미지 해상도에서 긴 시퀀스의 확장성을 테스트했습니다. 결과는 아래 표 5에 나와 있습니다. 이 계산 제어 설정에서 MEGABYTE는 모든 해상도에서 기본 모델보다 성능이 뛰어납니다.
아래 표 14에는 컨텍스트 길이 및 잠재 수를 포함하여 각 기준 모델에서 사용되는 정확한 설정이 요약되어 있습니다.
오디오 모델링
오디오는 텍스트의 순서 구조와 이미지의 연속 속성을 모두 갖고 있는데, 이는 MEGABYTE의 흥미로운 애플리케이션입니다. 본 기사의 모델은 3.477의 bpb를 얻었으며 이는perceiverAR(3.543) 및 바닐라 트랜스포머 모델(3.567)보다 상당히 낮습니다. 추가 절제 결과는 아래 표 10에 자세히 설명되어 있습니다.
자세한 기술적 세부 사항과 실험 결과는 원본 논문을 참조하세요.
위 내용은 '분사'가 꼭 필요한가요? Andrej Karpathy: 이제 이 역사적 짐을 버릴 때입니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!