LLM) HuggingFace 에 사용하는 Tokenizer 의 결과 비교하는 Streamlit APP
2024. 6. 1. 16:09ㆍ관심있는 주제/LLM
최근 인공지능 분야에서 언어 모델의 발전은 눈부십니다. 이러한 모델들은 텍스트를 처리하기 위해 고유한 방식으로 단어를 토큰화하는 토크나이저를 사용합니다. 본 글에서는 Python의 인기 라이브러리인 Streamlit을 사용하여 여러 LLM 토크나이저를 비교하는 웹 애플리케이션을 만들어서 배포했습니다.
이 앱은 Hugging Face의 transformers 라이브러리를 통해 다양한 토크나이저를 로드하고, 사용자가 입력한 텍스트에 대해 토큰화를 수행합니다. 사용자는 웹 인터페이스를 통해 원하는 토크나이저를 선택하고, 토크나이저의 세부 정보 및 토큰화된 결과를 비교할 수 있습니다.
Streamlit 앱 (링크)
- 아래에 임베디된 앱이 보이지 않으면 위의 링크를 클릭해서 활성화 부탁드립니다 :)
설정값
HuggingFace Token
HuggingFace 사이트에 접속 후 설정에 들어간 다음 Access Tokens에서 Token을 생성하고 복사해서 사용
Tokenizer Names
모델 여러개 가능하고 `,`로 구분하기
google/gemma-7b,mistralai/Mistral-7B-Instruct-v0.3,meta-llama/Meta-Llama-3-8B
기술 스택
- Streamlit: 파이썬을 사용한 빠르고 간편한 웹 앱 개발을 가능하게 하는 라이브러리.
- Transformers: 다양한 언어 모델을 위한 사전 훈련된 모델과 토크나이저를 제공하는 라이브러리.
- TextHistory: 토큰별로 시각화하여 볼 수 있는 것을 추가하였습니다.
애플리케이션 구조
- 환경 설정: Streamlit 페이지 설정과 필요한 라이브러리 로드.
- 사용자 인증: Hugging Face 토큰을 이용하여 API 인증.
- 토크나이저 선택: 사용자 입력을 받아 원하는 토크나이저를 선택. (huggingface 기준)
- 토큰화 실행: 선택된 토크나이저로 텍스트를 토큰화하고, 토큰화된 결과를 사용자에게 보여줌.
- 결과 분석: 토큰의 갯수, 고유 토큰의 갯수, 특수 토큰 등을 분석하여 결과를 제시.
특징
- 캐싱: st.cache를 사용하여 모델 로딩을 최적화하고, 반복 실행 시 속도 향상.
- 동적 UI: 사용자 입력에 따라 동적으로 토크나이저 옵션을 조정하고 결과를 시각화.
- 보안: 사용자의 Hugging Face 토큰을 안전하게 입력받고 관리.
배포 결과(https://llm-tokenizer-app-srlee.streamlit.app/)
화면 구성
728x90
'관심있는 주제 > LLM' 카테고리의 다른 글
LangGraph) LangGraph에 대한 개념과 간단한 예시 만들어보기 (0) | 2024.06.29 |
---|---|
Advanced RAG - 질문 유형 및 다양한 질문 유형을 위한 방법론(Ranker) (1) | 2024.06.22 |
LLM) Quantization 방법론 알아보기 (GPTQ | QAT | AWQ | GGUF | GGML | PTQ) (0) | 2024.04.29 |
LLM) Chat Vector 논문 내용 및 실험해보기 (2) | 2024.04.26 |
LLM) 모델에서 사용하는 GPU 계산하는 방법 (0) | 2024.04.15 |