[바미] 지식 증류(Knowledge Distillation)로 성능은 챙기고, 모델은 줄이기
·
AI
들어가기전에실서비스에 모델을 붙이려면, 성능만큼 중요한 게 무게(추론 비용)입니다. 모델이 무거우면 바로 병목이 되버리죠. 큰 모델(Teacher)은 정확하지만 느리고 비싸고, 작은 모델(Student)은 빠르고 싸지만 성능이 아쉬운 경우가 많은데 이 둘 사이를 이어주는 대표적인 방법이 Knowledge Distillation(지식 증류)입니다. 이를 한 문장으로 정리하면 다음과 같이 표현해 볼 수 있어요.큰 모델(Teacher)의 예측 지식을 작은 모델(Student)이 따라 배우도록 학습시키는 방법. 그럼 왜 굳이 증류가 필요할까요?서비스 관점에서 모델이 좋다는 것은 단순히 정확도만 의미하지 않습니다.모바일/엣지 환경에서 돌아가야 함응답 속도가 중요함(지연 시간, latency)비용이 중요함(GPU/..
[바미] 코사인 유사도 한 번에 정리해보기
·
AI
들어가기전에.. [바미] 단어를 벡터로 바꾸는 Word2Vec에 대해 알아봅시다.들어가기전에..자연어 처리(NLP)를 공부하다 보면 Word2Vec이라는 이름을 정말 자주 보게 됩니다.Word2Vec은 한 문장으로 말하면 아래와 같습니다. 단어를 숫자 벡터(임베딩)로 바꿔서, 의미가 비슷한codesk.tistory.com이전 글에서 Word2Vec을 통해 단어를 벡터(임베딩)로 바꾸면 의미가 비슷한 단어끼리 벡터 공간에서 가까워진다고 정리했습니다.그렇다면 ‘가깝다’는 걸 우리는 어떤 기준으로 계산할까요? 궁금하지 않으신가요? 임베딩에서 가장 자주 쓰이는 기준이 바로 코사인 유사도(Cosine Similarity)입니다. 코사인 유사도는 한 문장으로 요약하면 다음과 같습니다.두 벡터가 얼마나 ‘같은 방향’..
[바미] 단어를 벡터로 바꾸는 Word2Vec에 대해 알아봅시다.
·
AI
들어가기전에..자연어 처리(NLP)를 공부하다 보면 Word2Vec이라는 이름을 정말 자주 보게 됩니다.Word2Vec은 한 문장으로 말하면 아래와 같습니다. 단어를 숫자 벡터(임베딩)로 바꿔서, 의미가 비슷한 단어끼리 벡터 공간에서 가깝게 만들도록 학습하는 방법 이 글에서는 Word2Vec이 왜 필요한지, 어떤 방식(CBOW/Skip-gram)으로 학습하는지, 그 것의 장단점은 뭔지까지 처음 배우는 관점에서 정리해보겠습니다.왜 굳이 단어를 ‘벡터’로 바꿔야 할까?컴퓨터는 텍스트를 그대로 이해하지 못합니다. 그렇기 때문에 결국 숫자로 바꿔야 하죠.이를 위해 가장 단순한 방법은 원-핫 인코딩(One-hot)입니다. 예를 들어 단어 사전이 10,000개면, 각 단어를 길이 10,000짜리 벡터로 표현하게 ..
[바미] 백엔드 관점에서 정리한 LLM 개념들
·
AI
들어가기전에..LLM(대규모 언어 모델)은 요즘 챗봇처럼 자연스럽게 문장을 만들어 주는 AI로 많이 접하게 됩니다. 처음에는 질문을 보내면 답을 돌려주는 API처럼 보이지만 실제로 서비스를 만들다 보면 단순 호출만으로는 부족한 순간이 꽤 빨리 옵니다. 예를 들어 왜 답이 매번 조금씩 달라지는지, 어떤 정보를 어디까지 믿어도 되는지, 비용과 속도를 어떻게 관리할지 같은 것들이죠.결국 LLM을 제품에 붙인다는 건 모델 호출 자체보다 그 앞뒤를 감싸는 백엔드 설계가 더 큰 비중을 차지하게 되는데 복잡한 수식 대신 백엔드 개발자가 AI를 제품에 연동하고 운영할 때 반드시 알아야 할 시스템적 원리와 설계 포인트를 공부한 것들을 정리해보았습니다.LLM 작동 원리토큰(Token) - 비용과 지연(Latency)의 기..
Bami
'AI' 카테고리의 글 목록