LG전자 CTO부문 인공지능연구소 소속 요한 박사. 강의, 피드백, 젊은 세대와의 소통을 좋아하며, 매년 대학교 강의 및 온라인 강의를 진행.
메타코드에 감사하며, 수강생들에게 감사 인사를 전함. 인공지능 중 SLM(Small Language Model)에 대한 강의를 진행하게 되어 기쁨을 표현. 에이전트, 디파이, N8 등 다른 분야에 인력이 쏠리는 상황에서 SLM에 대한 관심이 남아있어 다행이라고 생각.
대형 LM 모델이 지배하는 시대이지만, LM 모델 자체 연구에 대한 필요성을 강조. GPT, Gemini, Claude 등 거대 모델 시대에도 각 회사들은 자체 모델 연구를 진행하며, 개인이 할 수 있는 부분은 SLM 연구임을 설명.
SLM 연구를 통해 대형 LM 모델이 잘하는 것을 따라하기보다, 그들이 못하는 것을 공략하여 차별화된 가치를 창출해야 함.
SLM 연구를 통해 대형 LM 모델의 성능 향상에 기여하는 방향으로 설정해야 함을 강조. 실용적인 연구를 지향하며, 대형 LM 모델 대비 SLM이 잘 할 수 있는 부분에 집중.
수강생들이 로컬 환경에서 LMM을 돌리는 방법을 배우도록 함. 모델 직접 설계는 어렵지만, 데이터 학습 경험을 제공. 구글 콜랩 환경에서 학습 결과를 확인할 수 있도록 구성.
SLM 기술이 작은 모델에만 적용되는 것이 아니라, 70B 이상, 200B 이상의 SOTA LMM(State-of-the-art Language Model)에도 적용 가능함을 설명.
SLM을 통해 회사에서 할 수 있는 업무를 중심으로 코딩 실습을 진행. GPT 등이 코드를 잘 짜주는 시대이므로, 현업에서 사용되는 분야를 소개하는 데 초점을 맞춤.
양자화와 페프트는 현재 모든 LM 모델에 적용 가능한 기술이며, SLM의 기준은 개인 디바이스에서 돌아갈 수 있는지에 달려있음.
GPT가 모든 것을 해결하는 시대에 LM 모델 학습이 의미 있는지에 대한 질문에 답함. 대규모 LMM이 발전해도 해결할 수 없는 민감 데이터 보안 문제를 강조.
클로드, 채GPT, 제미나이 등 외국 회사의 모델에 데이터를 제공하는 것은 데이터 유출 위험 때문에 어려움. LG전자와 같은 회사에서도 고객 데이터를 사용하는 것이 매우 어려우며, 타 기업에 데이터 해석을 맡기는 것은 불가능.
민감 데이터 보안을 위해 SLM이 필수적이며, 작은 모델을 통해 데이터 마스킹, 데이터 해석 등의 역할을 수행.
채GPT나 클로드와 같은 모델은 일반적인 용도로 사용되지만, 특정 분야(예: 가전)에 특화된 모델이 필요함. 회사 고유의 명칭이나 제품에 대한 이해도를 높이기 위해 맥락 학습이 필요.
SLM을 통해 로드 모델을 직접 다루고 파인 튜닝을 해보며 실무에서 활용 가능한 역량을 키울 수 있도록 준비.
SLM 자체도 모델을 작게 만들었지만, 양자화를 통해 모델을 더 작게 만들고 효율성을 높이는 기술에 대해 설명.
대규모 언어 모델의 크기가 너무 커서 수정이 어렵다는 문제점을 지적. SLM도 마찬가지로, 8비트 모델조차 개인이 돌리기에는 부담스러울 수 있음.
비트 수를 줄이는 것. 컴퓨터가 숫자를 표현할 때 사용하는 비트 수를 줄여 모델 크기를 축소.
양자화는 모델 크기를 줄여 메모리 사용을 최적화하고, 로컬 환경에서도 모델을 돌리기 쉽게 만들어줌.
32비트, 16비트, 8비트, 4비트까지 비트 수를 줄일 수 있지만, 4비트는 정보 손실이 너무 커서 일반적으로 추천하지 않음. 8비트가 표준으로 많이 사용됨.
기술적인 내용으로, 모델들이 대부분 양자화를 지원하므로 옵션 정도로 사용 가능.
GPU 성능에 따라 8비트가 맞지 않을 수 있으며, 4비트는 GPU에 따라 성능이 크게 달라짐.
효율적인 파인 튜닝을 통해 성능을 높이고 비용을 낮추는 기술. 양자화와 비슷하지만, 파인 튜닝 단계가 필수적.
기존 파인 튜닝은 과적합, 이미 배운 것을 잊어버릴 수 있는 단점이 있음. 생성된 모델의 파인 튜닝은 신중하게 접근해야 함.
기존 파인 튜닝의 단점을 보완하며, 모델의 결과에 조금만 변화를 주는 방식으로 사용.
다양한 방법론 중 로라(LoRA)가 가장 많이 사용됨.
데이터를 학습시키면 모델이 판단하여 숫자로 내재화하는 것을 임베딩 벡터라고 함.
사전 학습된 모델의 임베딩을 활용하여 특정 작업에 맞춰 조금씩 바꾸는 방식. 기존 파인 튜닝처럼 모델이 크게 벗어나는 것을 방지.
효율성과 유연성이 좋음. 양자화는 효율성을 높이는 대신 결과가 안 좋을 수 있지만, 페프트는 효율성과 효과가 모두 좋음.
로라(LoRA), 프리픽스 튜닝, 프롬프트 튜닝 등이 있으며, 필요에 따라 함께 사용. 오늘은 로라에 대해 설명.
가중치 행렬에 저차원 행렬을 추가하여 학습 파라미터 수를 줄임. 로라에 대한 연구가 활발하며, 라이브러리화도 잘 되어 있음.
구글 콜랩(Google Colab)을 이용하여 실습 진행. T4 GPU 환경 사용.
2.5 1.5B 인스트럭트 모델 사용. (강사 실수 정정: 8비트가 아닌 1.5B 모델)
고객 상담 데이터에서 개인 정보(이름, 전화번호, 이메일 등)를 마스킹하는 작업. 기업에서 많이 활용.
AI가 심한 말을 못하는 제약을 극복하고, 악성 민원 데이터 학습 등에 활용. 퓨샷 러닝(Few-shot learning) 진행.
SLM을 활용한 현업에서 주로 사용되는 두 가지 업무를 중심으로 실습 준비.
모델 로드 시 오류 발생 시 use_cache=False를 추가해야 함.
답변 생성 과정을 설명. 시스템 역할 부여, 유저 입력, 챗 템플릿 적용, 토크나이저 사용.
주민등록번호, 연락처, 병력, 계좌번호 등 민감 정보가 포함된 고객 데이터를 마스킹하는 실습 진행.
컨타이제이션과 로라를 합친 큐로라를 사용하여 모델 학습. 한국 해적 데이터셋을 사용하여 거친 말투를 학습시키는 실습 진행.
파인 튜닝 전 모델의 응답과 파인 튜닝 후 모델의 응답을 비교하여 학습 효과 확인.
학습 레이트, 스텝 조절 등을 통해 원하는 결과를 얻도록 튜닝해야 함. 과적합 방지를 위해 데이터셋을 늘리거나 학습 레이트를 줄이는 방법 사용.
자연어 처리 연구는 정성적인 평가가 많으며, 사람마다 결과에 대한 판단이 다를 수 있으므로 설계가 중요함.