토큰은 오늘날의 생성적 AI가 실패하는 큰 이유입니다
![](/caiji/ci70713850456.png)
생성적 AI 모델은 사람들이 하는 방식으로 텍스트를 처리하지 못합니다. 그들의 '토큰' 기반 내부 환경을 이해하면 그들의 이상한 행동과 고집스러운 한계를 설명하는 데 도움이 될 수 있습니다.
젬마와 OpenAI의 산업 선도 GPT-4o와 같은 작은 장치용 모델부터 다수의 모델은 변압기라는 아키텍처를 배치했습니다. 변압기가 텍스트와 다른 유형의 데이터 사이의 연상을 부르는 방식으로 인해, 그들은 대량의 컴퓨팅 없이는 원시 텍스트를 받아들이거나 출력할 수 없습니다.
그래서 현실적으로나 기술적으로 오늘날의 변압기 모델은 '토큰화'라고 알려진 작은 조각으로 나뉜 텍스트를 다룹니다.
토큰은 'fantastic'과 같은 단어일 수도 있습니다. '팬', '타', '틱'과 같은 음절일 수도 있습니다. 토크나이저라는 토큰화를 수행하는 모델에 따라서는 단어의 개별 문자 (예: 'f', 'a', 'n', 't', 'a', 's', 't', 'i', 'c')일 수도 있습니다.
이 방법을 사용하면 변압기는 상위 문맥 창으로 알려진 상한에 이르기 전에 더 많은 정보를 (의미적으로) 받아들일 수 있습니다. 그러나 토큰화는 편향을 도입할 수도 있습니다.
일부 토큰에는 이상한 공간이 있어 변압기를 방해할 수 있습니다. 예를 들어 'once upon a time'을 'once', 'upon', 'a', 'time'으로 인코딩할 수 있으며 'once upon a ' (끝에 공백이 있는 경우)을 'once', 'upon', 'a', '.'로 인코딩할 수 있습니다. 모델이 어떤 방식으로 프롬프트되는지에 따라 결과가 완전히 다를 수 있습니다. 왜냐하면 모델은 사람처럼 의미가 동일함을 이해하지 못하기 때문입니다.
토크나이저는 대소문자를 다르게 다룹니다. 모델에게 '안녕하세요'가 'HELLO'와 동일하다고 말할 수는 없습니다. 'hello'는 일반적으로 하나의 토큰이고 'HELLO'는 세 개 이상의 토큰이 될 수 있습니다. 이것이 많은 변압기 모델들이 대문자 테스트에 실패하는 이유입니다.
'언어 모델의 '단어'가 정확히 무엇이어야 하는지에 대한 질문을 우회하는 것은 어렵습니다. 심지어 우리가 인간 전문가들이 완벽한 토큰 어휘를 합의해도, 모델은 아마도 여전히 '겹치게' 더 멀리 나누는 것이 유용하다고 생각할 것입니다. '태티어니 언어 모델의 해석능력에 대해 연구하는 노스이스턴 대학교의 박사 학생인 셰리던 파이퓨트는 테크 크런치에 말했습니다. 비록 이런 종류의 모호성 때문에 완벽한 토크나이저가 존재하지 않을 것으로 예상합니다.
이 '모호성'은 영어 외 다른 언어에서도 더 많은 문제를 일으킵니다.
많은 토큰화 방법은 문장에서 공백이 새로운 단어를 나타낸다고 가정합니다. 그것은 영어를 염두에 두고 설계되었기 때문입니다. 그러나 모든 언어가 단어를 구분하기 위해 공백을 사용하지는 않습니다. 중국어와 일본어는 사용하지 않습니다. 한국어, 태국어 또는 캄보디아어도 마찬가지입니다.
2023년 옥스퍼드 연구는 비영어 관련 언어의 토큰화 방식의 차이로 인해 영어로 표현된 동일한 작업을 완료하는 데 걸리는 시간이 두 배 이상 소요될 수 있다는 사실을 발견했습니다. 같은 연구와 다른 연구에서 '토큰 효율적이지 않은' 언어 사용자들은 모델 성능이 저해되며 어휘당 가격제도를 채택하는 많은 AI 공급업체가 더 많은 요금을 지불할 것으로 예상됩니다.
표의 기호 시스템에서 각 문자를 구별해 내는 토크나이저는 높은 토큰 수를 일으킬 수 있습니다. 마찬가지로, 애굴류어에서 각 형태소를 토큰으로 변환하는 토크나이저는 전체 토큰 수를 증가시킬 수 있습니다. (태국어의 '안녕'에 해당하는 단어는 여섯 개 토큰입니다.)
2023년에 구글 딥마인드 인공지능 연구원인 예니 준은 서로 다른 언어의 토큰화 및 하향식 영향을 비교하는 분석을 수행했습니다. 52개 언어로 번역된 병렬 텍스트 데이터 세트를 사용하여 준은 일부 언어가 영어로 동일한 의미를 포착하기 위해 최대 10배 더 많은 토큰이 필요할 수 있다는 것을 보여 주었습니다.
언어 불평등을 넘어서, 토큰화가 오늘날의 모델이 수학을 잘하지 못하는 이유일 수도 있습니다.
드문드문 숫자가 일관되게 토큰화되지 않습니다. 숫자가 무엇인지 정확하게 모르기 때문에, 토크나이저는 '380'을 하나의 토큰으로 취급할 수 있지만 '381'을 쌍으로 ('38'과 '1') 나타낼 수 있습니다. 이로써 숫자와 결과 간의 관계가 파괴되어 방정식 및 공식에서 모델 혼란이 발생합니다. 최근 논문에 따르면, 모델은 반복적인 수치 패턴과 문맥, 특히 시간 정보를 이해하는 데 어려움을 겪는 것으로 나타났습니다. (참조: GPT-4는 7,735가 7,926보다 크다고 생각합니다.)
이것이 모델이 애너그램 문제나 단어를 뒤집는 데 잘하지 않은 이유입니다.
문제를 많이 일으키고 있는 일부 이상한 행동 및 LLM 문제들이 실제로 토큰화로 거슬러 올라간다는 것을 알게 될 것입니다. 이러한 문제를 여러 개 설명하고, 왜 토큰화가 잘못되어 있으며 고민하게 된 이유, 누군가가 이 단계를 완벽하게 삭제할 방법을 찾아 이상적입니다. pic.twitter.com/5haV7FvbBx
— Andrej Karpathy (@karpathy) February 20, 2024
그래서 토큰화는 생성적 AI에 대한 도전을 제시합니다. 해결될 수 있을까요?
아마도.
Feucht는 토큰화를 완전히 없앰으로써 MambaByte와 같은 '바이트 수준' 상태 공간 모델이 훨씬 더 많은 데이터를 처리할 수 있는 반면 성능에 페널티를 받지 않는다는 점을 가리켰다. 텍스트와 기타 데이터를 나타내는 원시 바이트와 직접 작동하는 MambaByte는 언어 분석 작업에서 일부 변압기 모델과 경쟁력이 있으며 바꿔진 문자, 간격 및 대문자와 같은 '노이즈'를 더 잘 처리합니다.
그러나 MambaByte와 같은 모델들은 아직 초기 연구 단계에 있습니다.
'특히 변압기 모델의 경우 계산이 시퀀스 길이에 제곱적으로 증가하기 때문에 짧은 텍스트 표현을 사용하려고 노력해야 합니다.' Feucht는 말했습니다. '따라서 토큰화에서 단계를 삭제하지 않는 한 새로운 모델 아키텍처가 관건이 될 것으로 보입니다.'