AutoClass,Tokenizer,Embedding

by HJH
지난 매거진을 삭제하며 ZeliAI 매거진에 통합합니다.


전기의 원리나, 전기공사의 기술, 집 배선이 어떤지 몰라도 우리는 스위치를 켜고 끔으로써 전등을 제어할 수 있다. 이걸 추상화라고 하고 보통 구체화의 반대의 의미로 해석하면 이해가 쉽다. 전기 스위치를 더 구체화해서 들어가면 전기 배선이 보이고 더 구체화하면 전선 안의 전자의 움직임이 보일 것이다.


코랩 매거진은 스위치와 같다. 구글이 추상화를 잘해서 사람들이 잘 알고 공부할 수 있도록 만들어 놓았고, 나온 지는 8년 되었지만 지난 3년 간은 힘들게 사용하게 되었는데 코랩을 대체할 설루션은 아직 찾지 못했다. 코랩 매거진의 존재 이유를 다시 말하지만 풀스택 AI 엔지니어 매거진과 교집합도 있다. 다만 다른 점은 코랩은 추상화가 잘 된 것처럼 여기 쓰는 글은 나 역시 좀 편하게 쓴다는 점이다.


공부는 각자의 몫이고 키워드가 잘 전달되고 서로 이야기할 수 있으면 그걸로 좋다. 난 여기 있는 코랩의 글을 모아 가끔 인공지능 같이 공부 한 분과 이야기 하는 것으로 충분하다.


서론이 길었다. 늘 그렇듯 본론은, 그리고 정수는 늘 간단명료하다.


허깅페이스를 편하게 쓰려고 오토 클래스를 쓴다. 그럼 편하게 토크나이저와 임베딩을 할 수 있다.


https://colab.research.google.com/drive/1x7hRB0c42KEyx98A7G3B-xW4-CdhejUS?usp=sharing


토크나이저는 단어를 자르고 숫자화 하는 것이고 임베딩은 벡터화하는 것이다. 벡터화를 하면 단어끼리 얼마나 가까운지 알 수 있다. 일전에 말했던 사이트에 접속해서 몇 개 실습해 보면 금세 알 수 있다.


https://word2vec.kr/search/


여기까지 해 보면 내가 왜 사전을 LLM으로 만들게 되었는지 다 알 수 없지만 하나의 이유 정도는 알 수 있다. 가장 큰 이유는 LLM으로 만든 것이라야 LLM에게 가장 잘 맞을 것이고(알파고 제로 이야기 하면 말했던) 벡터 단위는 유사 단어에 매우 강하기 때문에 love를 알아볼 수 있는 일례가 되는 것이다.


chatGPT 오픈 버전이 나와서 만들어 본, https://naver.how/d/dict/dev/999/index.html LLM으로 만든 사전이다.

서버에서 자동로드 버튼을 먼저 누르면 된다. RAG 적용한 백엔드는 http://naver.how:8801/search_html?q=salt%20뜻&k=10 식으로 호출한다. 호출 q= 에서 원하는 단어만 바꿔보면 되고... 재미있는 건 like는 잘되는데 love 가 안 나와서 신기했는데 유사 단어를 보니 love에 대해 이해가 가긴 했다.

위에 거 클릭해서 안된다면

"http://naver.how:8801/search_html?q=salt%20뜻&k=10" 한글 문제니 "" 안을 복/붙 해야 된다. 복붙 가능한 사람은 하고... 아닌 분은 번거롭더라도 궁금하면 한 번 타이핑해보시길 바란다.


여기서 이제 더 들어가면 풀스택 AI 엔지니어 글로 넘어가게 된다.


이런 걸 만들고 가르쳐 주는 사람들이 참 신기하다. 인류의 유산을 만들어 주는 학계에 늘 감사를 표한다.


keyword