세상을 바꿀 미래를 속삭이는 AI가 정말 세상을 이해하고 있는지 궁금했던 적 없으신가요?
문제는 이거예요. 우리는 거대한 AI 두뇌를 만들고 있고, 녀석들은 텍스트로 학습합니다. 그런데 학습 대상인 텍스트 자체가 퍼즐이라면 어떨까요? 이탈리아어의 경우, 이 퍼즐이 persistent하고 짜증 나는 장애물이 되었고, 대부분의 연구자들—영어로 된 매끄러운 평원에 익숙한—은 그걸 알아채지도 못했습니다. 이건 마치 우주비행사에게 육상 이동 지침만 주고 수영을 가르치려는 것과 같습니다. 완전한 무용지물이죠.
이건 그냥 사소한 기술적 결함, 거대한 인공지능 기계 속에서 } 헛도는 작은 톱니바퀴 정도가 아닙니다. 아닙니다. 이탈리아어와 같은 언어들에게는 근본적인 플랫폼 전환에 해당하며, 지금까지 이 강력한 모델들이 진정으로 파악할 수 있는 능력을 체계적으로 제한해 온 깊은 구조적 문제입니다. 그리고 Fabio Angeletti가 이 문제를 어떻게 해결했는지, 그의 Dante-2B 모델을 위한 맞춤형 토크나이저를 구축한 이야기는 진정한 지능이 단순히 규모가 아니라; 뉘앙스, 즉 데이터의 언어로 말하는 것임을 이해하는 마스터 클래스입니다.
침묵의 파괴자: 왜 영어 토크나이저는 이탈리아어에 실패하는가
상상해 보세요. 토크나이저의 임무는 텍스트를 언어 모델이 씹을 수 있는 한 입 크기의 조각, 즉 토큰으로 자르는 것입니다. 간단해 보이죠? 빵을 써는 것처럼요. 하지만 이탈리아어는 그냥 썰어진 빵이 아닙니다. 숨겨진 층을 가진 섬세한 페이스트리이며, 표준 영어 썰기 방식은 그걸 산산조각 낼 뿐입니다.
범인은 누구일까요? 바로 겸손한 아포스트로피입니다. 영어에서 이건 축약형(“it’s“)이나 소유격(“Sarah’s“)을 위한 까탈스러운 작은 표시입니다. 종종 그걸 빼도 의미는 명확하게 전달됩니다. 하지만 이탈리아어에서는, 그건 두 단어를 하나로 융합하는 언어적 접착제, 탈락(elision)입니다. “L’intelligenza”는 “L” + “intelligenza”가 아니라; 하나의 개념입니다. “Dell’algoritmo”는 단순히 부분들이 아니라; 단 하나의 분리 불가능한 구문입니다. 영어 훈련 토크나이저가 “dell’algoritmo”를 보면, 이걸 세 개로 쪼갭니다: [“dell”, “‘“, “algoritmo”]. 그러면 AI는 부서진 관사, 구두점, 명사를 보게 됩니다. 이건 작곡가에게 연결되지 않은 음표 더미를 주고 멜로디를 추측하라고 하는 것과 같습니다. 모델은 토크나이저에 의해 부서진 의미를 재구성하기 위해 필사적으로 귀중한 인지 에너지를 소모해야 합니다.
그리고 악센트도 있습니다. 오, 악센트들이여! 이탈리아어는 6개의 악센트 모음을 가지고 춤을 춥니다: à, è, é, ì, ò, ù. “Perché”(왜/때문에), “è”(이다), “più”(더), “già”(이미), “così”(그래서)와 같은 단어들은 지극히 보편적입니다. 가장 일반적인 바이트 수준 토크나이저에서, 이것들은 문자로 인식되지 않습니다. 아니요. 두 바이트로 취급됩니다. “È”는 0xC3와 0xA8이 됩니다. 알고리즘이 이 바이트 쌍을 단일 토큰으로 병합할 만큼 충분히 보지 않는 한—다른 병합에 묻혀 있을 때 큰 요구입니다—모델은 이러한 기본적인 언어 표시를 그냥… 의미 없는 바이트 조각으로 처리합니다. 이건 언어적 실명의 미묘한 형태입니다.
“GPT, LLaMA, Mistral의 모든 주요 영어 토크나이저는 아포스트로피를 분할 지점으로 취급합니다. 그들은 영어에 맞춰 설계되었고, 그게 올바른 동작 방식입니다. 하지만 이탈리아어 텍스트를 입력하면, ‘dell’algoritmo’는 세 개의 별도 토큰이 됩니다: [“dell”, “‘“, “algoritmo”]. 모델은 부서진 관사, 구두점, 명사를 보지만—이탈리아어 독자는 단 하나의 분리 불가능한 구문을 봅니다.”
첫 시도: 좌절감만 남긴 헛발질
Angeletti의 맞춤형 토크나이저에 대한 초기 시도는 GPT-2와 LLaMA 같은 거물급 모델을 구동하는 것과 같은 청사진인 ByteLevel 인코딩을 사용했습니다. 영어에는 괜찮은 접근 방식이지만, 이탈리아어 실험은… 재앙이었습니다. 결과물은 엉망이었고, 악센트가 있는 문자는 ò나 ó와 같은 이상한 기호로 나타났습니다—완전한 바이트 수준의 헛소리, 이탈리아어가 아니었습니다. 더 나쁜 것은, 그의 사용자 정의 어휘에는 이탈리아어 악센트가 포함된 형편없는 23개의 토큰만이 있었습니다. 아포스트로피 토큰은 제로였습니다. 단어당 토큰 비율인 ‘비옥도(fertility rate)’는 2.04로, LLaMA의 표준 이탈리아어 성능인 약 1.85보다 낮았습니다. 그의 맞춤형 AI는 실제로 더 나빴습니다.
이제, ‘그냥 더 많은 데이터로 훈련하면 되지!’라고 생각할 수도 있습니다. 맞습니다. 10만 문서(단 2.6GB)는 6만 4천 토큰 어휘에는 충분하지 않았습니다. 토크나이저는 일반적인 병합을 학습할 만큼 충분한 이탈리아어 텍스트를 보지 못했고, “implementazione”과 같은 단어가 하나 대신 다섯 조각으로 잘리게 했습니다. 하지만 문제는 데이터 양보다 더 깊었습니다. ByteLevel 인코딩은 토크나이저가 0xC3 + 0xA8이 “è”와 같다는 것을 알아내기 위해 귀중한 “병합 예산”을 낭비하도록 강요합니다. 수백만 개의 악센트가 있는 문자, 수천 개의 이탈리아어 단어를 고려할 때, 기본적인 바이트 재구성에만 수천 개의 귀중한 병합이 낭비되는 것입니다.
이것이 바로 결정적인 순간이었습니다. 잘못된 전략을 계속 밀고 나가거나, 아니면 과감하게 방향을 전환하거나? Angeletti는 후자를 선택했습니다.
위대한 탈출: Metaspace가 구세주로
놀라운 전환점은 무엇이었을까요? ByteLevel 인코딩을 완전히 버리고 Metaspace를 사용한 것입니다. 이 유니코드 네이티브 접근 방식은 모든 것을 바꿉니다. 원시 바이트 대신, 각 단어 앞에 공백 문자를 붙이는 것으로 시작합니다. 이 간단한 트릭은 더 똑똑한 인코딩 전략과 결합하여, 토크나이저가 단어 경계를 더 잘 식별하고, 결정적으로 악센트가 있는 문자 및 융합된 단어에 대한 실제 토큰을 형성할 수 있도록 합니다. 마치 토크나이저에게 이탈리아 전역의 언어 지도를 주는 것과 같습니다. 그저 북쪽을 가리키는 나침반만 주는 것이 아니라 말입니다.
이것은 AI를 위해 이탈리아어 텍스트를 보기 좋게 만드는 것 이상입니다. 모델이 언어를 인식하고 학습하는 방식을 근본적으로 바꾸는 것입니다. “l’intelligenza”를 단일 단위로 취급함으로써, AI는 그 좌절스럽고 에너지 소모적인 재구성 단계 없이 그 문법적 역할을 마침내 파악할 수 있습니다. 모든 악센트, 모든 탈락은 이제 의미 있는 신호가 되지, 바이트 수준의 이상이 아닙니다. 그의 새로운 Metaspace 토크나이저의 비옥도(fertility rate)는? 훨씬 더 건강한 1.6입니다. 이는 더 적은 토큰에 더 많은 의미를 담아, 이탈리아어 텍스트를 훨씬 더 효율적이고 정확하게 처리할 수 있는 AI를 의미합니다. 이것은 엄청난 변화이며, 이탈리아어 언어 모델에 대한 완전히 새로운 수준의 이해를 열어줍니다.
진정한 영향: 단순히 이탈리아어를 말하는 것을 넘어
이것은 단순히 유창한 이탈리아어로 대화할 수 있는 AI를 만드는 것에 관한 것이 아닙니다. 이것은 AI가 단일한 실체가 아니라는 것을 인식하는 것에 관한 것입니다. AI는 방대하고 다양한 생태계이며, 각 언어는 고유한 도전과 기회를 안고 있습니다. Angeletti가 여기서 해낸 작업은 진정한 AI 발전이 깊고, 해당 분야에 특화된 이해를 필요로 한다는 강력한 상기시켜주는 역할을 합니다. 이것은 인간의 언어를 모방할 수 있는 AI와, 그것의 자체적인 방식으로 진정으로 이해할 수 있는 AI의 차이입니다.
이것을 은하계를 위한 보편 번역기를 만드는 것에 비유해 보세요. 모든 외계 종족에게 동일한 기본 펌웨어를 사용할 수는 없습니다. 각 종족은 고유한 발성, 고유한 구문, 고유한 문화적 맥락을 가지고 있습니다. Angeletti의 토크나이저는 이탈리아 섹터에 대한 특정 언어 인터페이스를 개발하는 것과 같습니다. 이것은 AI가 피상적인 이해를 넘어 인간 언어의 풍부함과 복잡성을 모든 영광스러운 형태로 포용할 수 있도록 하는 퍼즐의 필수적인 조각입니다.
미래는 단순히 더 큰 모델에 관한 것이 아닙니다. 더 똑똑한 모델에 관한 것입니다. 그리고 더 똑똑하다는 것은 더 포용적이고, 우리 인간이 실제로 소통하는 아름답고 복잡한 다양성에 더 잘 맞춰진다는 것을 의미합니다. 이것이 바로 우리를 위해 봉사하는 것뿐만 아니라, 우리를 진정으로 이해하는 AI를 만드는 방법입니다.