후 주로 요즘 관심있는 분야는 LLM, Speech, Mutimodal, Mlops + 강의 백 혜 림 [email protected] 2 LinkedIn : https://www.linkedin.com/in/hyerimbaek-227489185/ TechBlog : https://rimiyeyo.tistory.com
인코더는 유지하고 디코더는 2개만 유지. Weighted distillation loss사용 라이선스가 있는 9개의 오픈 소스 데이터 셋 22,000시간 분량. 훈련용 라벨은 whisper로 pseudo label생성. WER 필터가 적용되어 WER 점수가 10% 이상인 라벨만 유지된다는 것 출처 : https://arxiv.org/abs/2311.00430
유지 Flash attention2에 주목! 일반 컴퓨터에서는 돌아가지 않습니다! pip install flash-attn --no-build-isolation RuntimeError: FlashAttention only supports Ampere GPUs or newer.
실제 실행 코어와 함께 위치한 on-chip 메모리 크기는 제한되어있지만 (A100의 경우 최대 20MB) 매우 빠름! 칩 외부이지만 카드 내부 메모리. 즉, gpu에 있지만 코어 자체와 같은 위치에 있지 않음 A100에는 40GB의 HBM있지만 대역폭 1.5TB 전통적인 CPU RAM 너무 느림 GPU 아키텍쳐
감소 : GPU에서 더 느린 비 행렬 곱셈 연산을 줄이도록 알고리즘이 조정되고, 빠른 matmul FLOP의 비율을 증가 - 더 나은 병렬성 : 배치 크기/헤더를 넘어 시퀀스 길이에 대한 병렬성을 추가. 이는 긴 시퀀스에 대한 GPU 활용도를 향상 - 더욱 스마트하진 작업 분할 : 작업을 GPU스레드로 나누어 불필요한 동기화와 공유 메모리 사용량을 줄입니다. 동일한 시간 프레임에서 훨씬 더 긴 context로 모델을 훈련이 가능!
나누는 도구입니다. Text Splitter가 중요한 이유! LLM모델마다 max token의 수가 다르기 때문. RecursiveCharacterTextSplitter는 기본적으로 토큰 수가 아닌 문자 수로 분할 RecursiveCharacterTextSplitter.from_tiktoken_encoder는 토큰 수로 분할
변환하는 것을 의미 자연어처리에서 단어나 문장을 고차원 벡터로 변환하는 작업은 단어 임베딩 임베딩의 주요 목적은 원래의 데이터의 의미나 특성을 최대한 보존하면서 연산이 가능한 형태로 변환하는 것 Text Splitters https://projector.tensorflow.org/
특별한 유형의 데이터베이스 결국 벡터스토어에서 원하는 검색 결과를 가져오기 위해서는 임베딩 벡터간의 유사도를 측정해야 함 벡터스터어는 코사인 유사도 검색을 최적화해서 수행할 수 있도록 설계되어 있음. 임베딩 벡터를 저장할 때 특정한 방식으로 인덱싱해 검색 시간을 크게 단축