데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      효과적인 Telco LLM 구축을 위한 토크나이저의 역할

      singleheart 24.11.13
      1,536 7 2
      DEVOTEE 요약
      토크나이저는 텍스트 데이터를 처리하는 첫 단계로, 문장을 작은 단위로 분할하여 모델이 이해할 수 있는 형태로 변환하는 역할을 합니다. 언어에 따라 그 성능이 달라질 수 있으며, 최적화된 토크나이저는 모델의 성능을 크게 향상시킬 수 있습니다. SKT는 한국어 등 다양한 언어에 맞추어 최적화된 토크나이저를 개발하여 타사 대비 뛰어난 성능을 발휘하고 있습니다.

      그간 데보션에 토크나이저 관련 글을 몇 번 올렸는데 이미 토크나이저를 잘 아는 분들이 보신다고 가정하고 작성했습니다.

      이번 글은 토크나이저를 모르는 분도 이해할 수 있도록 써보았습니다.


      ※ 이 글은 SKT TelcoLLM.AI에 게재한 글의 한국어 원문입니다. 영어로 번역하면서 이미지가 추가되었습니다.

      서론

      Telco LLM(대규모 언어 모델)을 구축할 때, 텍스트 데이터를 효과적으로 처리하는 것은 매우 중요합니다. 이 과정에서 핵심적인 역할을 하는 것이 바로 '토크나이저'입니다.

      토크나이저는 텍스트를 작은 단위로 분할하여 모델이 이해할 수 있는 형태로 변환하는 기능을 합니다.

      특히, 언어에 따라 토크나이저의 성능이 달라질 수 있으며, 최적화된 토크나이저는 모델의 성능을 크게 향상시킬 수 있습니다.

      이번 글에서는 토크나이저의 기본 개념, 중요성, 그리고 SKT의 최적화된 토크나이저가 타사 대비 어떤 강점을 가지는지 자세히 살펴보겠습니다.

      토크나이저란 무엇인가?

      먼저, 토크나이저가 무엇인지 알아보겠습니다. 토크나이저는 텍스트 데이터를 처리하는 첫 단계로, 문장을 작은 단위인 '토큰'으로 분할하는 역할을 합니다.

      예를 들어, "SK Telecom is a leading telecommunications company in South Korea."라는 문장이 있을 때,

      이를 단어 단위로 나누면 ["SK", "Telecom", "is", "a", "leading", "telecommunications", "company", "in", "South", "Korea."]가 됩니다.

      여기에서 더 나아가 하위 단어(subword) 또는 문자 단위로도 나눌 수 있습니다.

      단어 단위 토크나이저 예시

      Subword 토크나이저는 단어를 더 작은 단위로 나누어 처리하는 방식입니다.

      이는 특히 신조어나 복합어, 드물게 사용되는 단어들을 효과적으로 처리하는 데 유용합니다.

      예를 들어, "sentence"라는 단어를 subword 토크나이저로 분할하면 ["sent", "ence"]로 나누어질 수 있습니다.

      또 다른 예로 "monolingual"이라는 단어는 ["mono", "ling", "ual"]으로 분할될 수 있습니다. 이러한 방식은 단어의 구성 요소를 더 잘 이해할 수 있도록 도와줍니다.


      토크나이저의 역할은 이렇게 나눠진 토큰을 통해 텍스트 데이터를 모델이 이해할 수 있는 형식으로 변환하는 것입니다.

      이 과정은 LLM의 성능에 매우 중요한 영향을 미칩니다. 토크나이저는 단순히 텍스트를 분할하는 것 이상으로, 언어의 구조와 문맥을 이해하고 이를 적절히 반영하는 기능을 합니다.

      이를 통해 모델은 문장의 의미를 보다 정확하게 이해할 수 있습니다.


      예를 들어 "internationalization"이라는 단어를 단순히 단어 단위로 나누면 ["internationalization"]으로 하나의 긴 토큰으로 처리됩니다.

      그러나 subword 토크나이저를 사용하면 ["intern", "ation", "al", "ization"]처럼 더 작은 단위로 분할되어, 모델이 단어의 의미를 더 잘 이해할 수 있게 됩니다.

      이는 특히 드물게 사용되는 단어나 신조어를 처리할 때 매우 유용합니다.

      왜 토크나이저가 중요한가?

      토크나이저는 텍스트 처리의 첫 단계로, 그 정확성과 효율성이 전체 모델의 성능에 직접적인 영향을 미칩니다.

      만약 토크나이징이 부적절하게 이루어진다면, 모델이 텍스트를 올바르게 이해하지 못하고, 이는 곧 모델의 성능 저하로 이어질 수 있습니다.


      예를 들어, "tokenizing"이라는 단어를 ["t", "okeni", "zing"]으로 부적절하게 나누면, 모델은 "tokenizing"이라는 단어의 의미를 이해하는 데 어려움을 겪게 됩니다.

      이처럼 토크나이저는 텍스트의 의미를 제대로 이해하고 처리하기 위해 매우 중요합니다.

      언어별 토크나이저 성능 차이

      토크나이저의 성능은 언어에 따라 달라질 수 있습니다. 같은 뜻의 문장이라도 토크나이저로 나뉘는 토큰 수가 달라지기 때문입니다.

      토큰 수가 늘어난다는 것은 LLM의 입력과 출력의 길이가 늘어난다는 것을 뜻합니다. 길이가 늘어나면 LLM이 응답하는 시간이 길어집니다.

      게다가 LLM API는 길이에 비례하여 과금되기 때문에 이는 고객이 부담하는 비용이 언어에 따라 달라질 수 있다는 의미가 됩니다.


      예를 들어, OpenAI의 GPT-4 토크나이저 사용시 "I ate an apple"이라는 문장은 영어에서는 ["I", "ate", "an", "apple"]로 4개의 토큰으로 나눌 수 있습니다.

      반면에 같은 뜻의 한국어 문장 "나는 사과를 먹었다"는 10개의 토큰으로 나뉘고, 일본어 문장 "私はリンゴを食べました"는 12개의 토큰으로 나뉩니다.

      SKT의 Telco LLM에서 토크나이저 최적화

      SKT는 이러한 언어별 차이를 극복하고 최적의 성능을 제공하기 위해 토크나이저를 최적화했습니다.

      SKT의 Telco A.X LLM에서는 다양한 언어와 상황에 맞춘 맞춤형 토크나이저를 개발하여, 타사 대비 뛰어난 성능을 발휘하고 있습니다.


      예를 들어, 한국어와 같은 복잡한 언어에 맞춘 토크나이저는 문맥을 고려하여 더 정확한 토크나이징을 수행합니다.

      이를 통해 모델은 텍스트의 의미를 더욱 정확하게 이해하고 처리할 수 있습니다.

      SKT는 언어 모델의 학습 과정에서 한국어의 다양한 문맥과 표현 방식을 고려하여 토크나이저를 설계하였습니다.

      이를 통해 토크나이저는 단어의 의미와 문맥을 더욱 정확하게 파악할 수 있습니다.

      GPT4 토크나이저 영어 예시

      GPT4 토크나이저 한국어 예시

      GPT4 토크나이저 일본어 예시

      아래는 SKT 토크나이저와 타사 토크나이저의 비교 결과를 보여줍니다.

      Llama3나 GPT-4에 비해 SKT의 토크나이저가 한국어에서는 매우 우수한 효율을 보여주고, 영어에서도 성능 저하가 심하지 않습니다.

      최근에 출시된 GPT-4o에서는 성능 격차가 많이 줄어들었습니다만, 여전히 SKT가 한국어에서 우위를 보여주고 있습니다.

      데이터셋

      Llama3

      OpenAI GPT-4

      OpenAI GPT-4o

      SKT

      한국어 (일반 텍스트)

      825.56

      1274.31

      811.71

      533.16

      한국어 (대화)

      341.52

      541.92

      228.95

      148.69

      영어

      776.31

      777.37

      769.31

      859.20

      결론

      지금까지 토크나이저의 중요성과 그 역할, 그리고 SKT의 최적화된 토크나이저에 대해 알아보았습니다.

      요약하자면, 토크나이저는 텍스트 데이터를 처리하는 첫 단계로, LLM의 성능에 매우 중요한 영향을 미칩니다.

      SKT는 언어의 특성에 맞춘 맞춤형 토크나이저를 개발하여 타사 대비 뛰어난 성능을 자랑합니다.


      궁금한 사항이나 추가 정보가 필요하신 분들은 언제든지 문의해주시기 바랍니다.

      SKT는 언제나 고객 여러분의 성공을 지원하기 위해 최선을 다하겠습니다.

      여러분의 피드백과 질문은 언제나 환영합니다. SKT의 전문 팀이 언제나 여러분의 질문에 답변해드릴 준비가 되어 있습니다.

      데보션 관련글

      이번 글은 회사 블로그에 기고하는 글이라서 본문에는 데보션 글 링크를 걸지 않았습니다. 아래 글들을 참고해 주십시오:

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      singleheart 님의 최신 블로그

      더보기
      동영상 기고하기