Laya 진짜 추천합니다. Jev를 오픈소스로 쓰는법
요약
본 영상은 오픈소스 AI 모델 Laya를 소개하며, 사용자가 직접 데이터를 학습시켜 업무에 최적화된 맞춤형 LLM을 구축하는 방법을 다룹니다. 특히 M4 맥북에서도 짧은 시간 안에 높은 정확도의 CS 챗봇을 구현할 수 있음을 보여줍니다. 또한, 요청의 성격에 따라 적절한 모델을 선택하여 비용과 시간을 절약하는 '라우팅' 기법의 중요성도 설명합니다.
핵심 포인트
- Laya는 오픈소스로 사용 가능하며, 로컬 환경에서 무료로 호스팅할 수 있습니다.
- 사용자 데이터를 학습시켜 일반 목적이 아닌 특정 업무에 최적화된 모델을 만들 수 있습니다.
- 요청 라우팅은 비용과 시간을 절약하는 핵심 AI 서비스 설계 기법입니다.
- CS 챗봇처럼 다양한 유형의 요청을 처리할 때 라우팅 구조가 매우 효과적입니다.
Video: Laya 진짜 추천합니다. Jev를 오픈소스로 쓰는법
Channel: 코드팩토리
Duration: 12m 42s
Source: subtitle (auto, ko)
Transcript:
자, 요즘 가장 핫한 모델 제브죠. 자,이 재브를 대체할 수 있는 오픈 소스 AI 모델 라야라는게 있다고 해서 제가 한번 직접 트레이닝 시키고서 한번 테스트도 해 봤습니다. 그냥 진짜 완전히 평범한 제가 평소에 쓰던 M4프로 맥북 램도 24GB밖에 안 되는 친구한테 라를 직접 학습을 시켰는데 제가 미리 만들어 놓은 한국어 고객 지원 CS 시험에서 정답률이 33%에서 86%까지 올라갔고요. 학습하는 데는 고작 48분밖에 안 걸렸어요. 1천건을 학습시키는데요. 자, 여기서 이제 제가 만건까지도 한번 해 봤습니다. 자, 제가 얼마 전에 제부 영상을 다뤄 가지고 사용하고 계시는 분들이 굉장히 많을 텐데 로컬에서 호스팅이 되기 때문에 무료로 사용할 수도 있고 제부처럼 제너럴 퍼포스가 아닌 내 업무에 최적화된 러닝을 시킬 수 있는 모델을 쓰고 싶다라면은 제가 써 보니까 라야가 엄청난 가능성을 보여주고 있어요. 자, 1천 건의 러닝을 넘어서 1만 건까지 진행을 했던 학습 그리고 테스트, 제브와 비교까지 오늘 영상에서 한번 제가 보여 드리도록 할게요.
쏘asy. 자, 일단 제가 제브 영상에서 설명한 내용이기는 한데 그래도 한번 더 봐 볼게요. 자, 라우팅이 왜 필요한가? AI 서비스를 만들 때 우리가 사용자의 요청을 전부 가장 좋은 성능에 LM에게 보낼 수가 있다라고 하면은 구현은 사실 굉장히 편합니다. 자, 그런데 우리가 간단한 조회 하나도 매번 그 가장 최고의 모델을 거치게 되면은 그만큼 호출하는 비용이랑 응답을 기다린 시간이 엄청나게 올라가겠죠. 자, 그리고 또 반대로 저렴하고 빠른 모델에게 전부 다 우리가 작고 맡기게 되면은 복잡한 요청에서 우리가 답변 품질이 아쉬울 수가 있고요. 자, 그래서 요청을 보고서 먼저 나누는 거죠. 자,이 문의는 간단한 처리로 충분한지 또는 이제 더 강력한 모델이 필요한지 아니면은 사람이 직접을 확인해야 하는지 아니면 아예 답장이 필요 없는지까지요. 자, 빠르게 설명을 하면은 이런 목적으로 여러분이 요청이 갈 곳을 정하는게 라우팅이라고 보시면 됩니다. 자, 그래서 지난 영상에서 제가 소개했던 재브를 이런 라우팅을 하는 목적에서 쓸 수가 있어요.
실제로 답변을 작성할 LM 앞에다 제를 두고서 요청이랑 선택지를 주면은 제가 알아서 경로를 고르게 돼요. 자, 그럼 프로그램이 우리가 그제브의 결과에 따라서 분류된 모델로 처리를 하도록 보내는 거죠. 자, 그래서 우리가 필요한 요청에만 큰 모델을 쓰도록 구성을 할 수가 있는 거예요. 그러면 시간이랑 돈을 굉장히 많이 아낄 수 있다라는 거죠. 자, 이건 제가 전부 다 테스트를 해 놨기 때문에 제 영상을 참고해 주시면 될 거 같아요. 자, 근데 저번에도 제가 이제 CS를 예로 들었는데 CS가 라우팅에 굉장히 적합한 이유는 상담 여러 개로 우리가 데이터를 수집을 하게 되고 그리고 문의마다 해야 될 일이 굉장히 다르기 때문이요. 그리고 너무 방대하게 많은 데이터가 들어오기 때문에 우리가 차치 잘못하면 굉장히 많은 돈을 낭비를 할 수가 있습니다. 정확한 분류와 판단해 낼 수 있는 앞단에 굉장히 빠르고 저렴한 모델이 필요하다라는 거죠. 자, 예를 들어서 우리가 배송이 어디까지 왔나요라는 질문을 받게 되면은 주문 정보를 그냥 조회서 안내를 하면 되겠죠.
자, 그리고 반품하고 싶어요는 반품 가능성의 여부를 확인하는 절차로 우리가 보내면 되고요. 규정만으로 해결하기 어려운 분쟁이라고 생각이 된다라고 하면은 상담원에게 그냥 바로 넘기도록 실제 사람에게 넘기도록 우리가 구성을 할 수도 있어요. 자, 이론은 이렇게 간단한데 우리가 그냥 단순히 단어만 보고서 판단하려고 하면은 조금 헷갈려요. 자, 그래서 우리가 AI를 사용할 수밖에 없게 되는 건데 예를 들어서 배송이 늦어요랑 배송이 늦으니까 취소해 주세요는 둘 다 배송 얘기가 나오긴 하지만. 자, 그런데 두 번째 고객이 원하는 건 확실하게 취소를 하는 거죠. 자, 여기서 우리가 라우팅을 잘못하게 되면은 뒷단에서 아무리 답변을 잘 쓰더라도 고객이 원하는 처리를 못 할 수가 있어요. 또는 파이프라인을 잘못 보내게 되면은 이상한 응답이 나올 수가 있겠죠. 어, 지금 이미 증명이 된게 라야 자체가 영어를 조금 더 잘하긴 하는데 저희의 목적은 일단 대부분 한국어를 기반으로 작업을 하실테니까 한국어 문의를 읽고 배송, 취소, 교환 반품 같은 어 여섯 가지 항목 중에 어디에 해당이 되는지 어 라한테 고르게 시켰고요.
분류 기준이랑 정답을 제가 미리 정해 놨고요. 학습 전후에 잘못 응답하는 그러니까 잘못 라우팅하는 분위기가 얼마나 줄었는지까지 한번 저희가 비교를 해 볼 거예요. 자, 그래서 제가 처음에 좀 예측을 했던 거는 한 1천권 정도 가르치면은 제브랑 라야가 비슷해질 수도 있지 않을까라는 생각을 했었거든요. 자, 그래서 제가 쇼핑몰에서 실제로 온라인 쇼핑몰에서 있을 법한 한국어 문의랑 정답을 짝지어 가지고 합성 데이터를 만들어 놨어요. 자, 그래서 학습용이랑 별도로 제가 시험으로 마지막에 프즌 테스트를 할 250개 데이터는 미리 다로 빼 미리 따로 빼 놨고이 같은 시험으로 한번 러닝 단계별로 비교를 한번 해 봤습니다. 자, 그래서 문의를 얼마나 올바르게 라야가 분류하는지 테스트하고 제브랑 직접적으로 한번 비교를 해 봤어요. 자, 일단은 그래서 베이스라인부터 한번 확인을 해 봤는데 학습을 아예 하기 전에 라야가 분류 정답을 얼마나 맞췄는지 한번 봐 볼게요. 자, 250개 중에 82개. 그러니까 정답률은 32.8%밖에 안 됐습니다.
그러니까 러닝을 시키지 않은 라야의 기본 분류 성능은 그렇게 좋지 않다라고 저희가 판단할 수가 있을 것 같아요. 자, 그래서 제가 정한 분류 기준으로는 세 개 중에 하나 정도만 맞춘 거죠. 자, 그리고 32.8 8%라는 숫자는 우리가 당연히 바로 사용할 수가 없는 정도의 수치고요. 자, 그래서 우리가 단계별로 한번 학습을 시켜 봤는데 100건, 300건 그리고 1천건을 단계적으로 학습시키면서 얼마나 정답률이 올라가는지 한번 비교를 해 봤어요. 자, 우리가 학습을 할 때는 실제 CS 무의랑 함께 정답 분류를 알려 줘요. 정답을 알려 주는 거죠. 자, 그리고 모델이 낸 예측을 정답이랑 비교하고요. 정답적으로 판단하도록 가중치를 조금씩 바꾸는 방식이라고 보시면 돼요. 자, 이렇게 우리가 학습한 모델을 저장을 해 두고 따로 빼둔 250개 문항의 시험 문제를 다시 풀게 하면 우리가 얼마나 성능이 향상됐는지 판단할 수가 있는 거죠. 자, 그래서 100건을 우리가 학습을 시키는데 걸린 시간은 4분이 걸렸고요. 정답률이 32.8%에서 무려 68.8%로 올라갔습니다.
그러니까 4분 만에 이런 성가를 내게 된 거죠. 자, 같은 시험 250개의 문제에서 마친 문제가 82개였는데 원래는. 근데 이게 172개로 엄청나게 늘어났고요. 학습 데이터 고작 100건으로 시험에서 마치는 문제가 90개나 늘어났다라는 거죠. 자, 그래서 이거를 퍼포먼스 더 올려 보기 위해서 300건을 또 러닝을 한번 시켜 봤습니다. 자, 300건을 학습하는 데는 15분이 걸렸고요. 정답은 83.2%가 됐어요. 자, 그리고 바로 그냥 1,000개까지 한번 학습을 시켜 봤더니 48분이 걸렸고 정답률은 86.4%까지 4%까지 올라갔습니다. 자,이 실험을 할 때 제가 처음에 100건을 학습을 시킨 모델에다 계속 데이터를 덧붙인 거는 아니에요. 각각 전부 다른 기본 모델에서 베이스라인에서 출발했고요. 학습 데이터량을 우리가 그냥 다르게 준 거죠. 100건, 300건, 1천000권 이렇게요. 실제 판단하는 프로즈 테스트 시험 문제는 똑같이 유지를 했고요. 자, 그래서 처음에는 세 개 중에 하나도 마치지 못했던 모델이 이제 250개 중에서 216개나 한 번에 맞추는 결과를 우리가 가져올 수가 있다라는 거죠.
자, 그리고 제가 그냥 쓰고 있는 평범한 맥북에서 한시간도 안 걸려서 우리 분류 기준에 훨씬 맞는 모델을 쉽게 만들어 냈다라는 겁니다. 자, 그런데 우리가 숫자를 보면은 뭐 어느 정도 예측을 할 수 있는 부분이긴 하지만 100건에서 300건으로 늘릴 때보다 300건에서 1,000권으로 늘릴 때는 올라가는이 정답률이 올라가는 폭이 작아졌어요. 데이터는 우리가 더 많이 넣었는데 점수는 83.2%에서 86.4%로 조금만 더 오른 거죠. 자, 그러면이 똑같은 문제를 우리가 제한테 넣었을 때 제는 얼마나 잘 맞출 수가 있을까요? 자, 제의 결과는 250개 중에서 250개를 전부 다 맞았습니다. 그래서 정답률이 100%였고요. 저는 개인적으로 제가 잘할 거라고 생각을 하긴 했는데이 문제를 하나도 안 틀릴 거라고 생각하지는 못했어요. 근데 굉장히 잘해냈습니다. 의도를 잘 읽었고 한 1천000권 정도 학습시키면은 꽤 비슷해지지 않을까라고 처음에 생각을 했지만 어 막상이 같은 시험을 보여 주니까 꽤나 퍼포먼스적인 차이는 분명히 있기는 했다.
제가 굉장히 좋은 모델은 확실히 맞다라는 걸 느끼게 됐어요. 자, 그런데 이제 천권밖에 학습을 안 시킨 거잖아요. 라 같은 경우 우리가 무한하게 계속 학습을 시킬 수가 있고요. 자, 그래서 비교를 해 보면은 라야는 지금 1,000개를 학습시켰을 때 216개를 맞췄고 제는 250개를 맞췄죠. 자, 그래서 여기서 만약에 더 학습을 시키면 어떻게 될까라고 좀 생각이 들어 가지고 1천000권에서 그냥 아예 극단적으로 1만 건까지 한번 학습을 시켜 보면 어떨까라고 생각을 했습니다. 자, 그래서 이번에는 똑같은 맥북에서 7시간 52분 동안 학습을 시켰고요. 만건의 데이터를 집어넣었어요. 그 전에는 이제 1한시간 안에 끝났었는데 이번에는 거의 8시간 가까이 돌린 거죠. 자, 근데이 8시간도 사실 그렇게 큰 시간도 아니기는 합니다. 우리가 우리가 이렇게 작은 컴퓨터에서 학습을 시키고 있다라는 걸 가정을 했을 때. 자, 그다음에 우리가 검증을 할 수 있도록 검증용 문제 600개를 풀게 했는데이 문제들에서 학습을 아예 하지 않았던 라야의 정답률은 35.8%였거든요.
그러니까 기존이랑 굉장히 비슷하죠. 그런데 1만 건을 학습을 시키고 나니까 정답률이 99.7%까지 7%까지 올라갔어요. 그러니까 600개 중에 598개를 맞췄습니다. 자, 그럼 이렇게 되면은 제브가 발휘했던 100%의 능력체에 거의 근접하게 가게 된다는 거죠. 자, 그래서 고작 8시간에 가까운 시간 동안 러닝을 시킨 것만으로 제브의 성능치에 어떤 면에서 저희가 테스트했던이 한 부분에서 굉장히 제브의 성능치와 가깝게 우리가 정답률을 올릴 수가 있었고요. 제브 같은 경우에는 제너럴 모델이기 때문에 학습 없이 다른 부분에서도 굉장히 잘할 거라서 저희가 완전히 라이로 제브를 따라잡았다고 말할 수는 없지만 사용을 하고 싶은 특정 영역에 대해서 우리가 라를 학습을 시키면은 그 건수와 그 정확도에 따라서 우리가 굉장히 높은 정답률을 만들어 낼 수가 있다라는 거를 증명은 충분히 해냈습니다. 자, 그럼 만약에 실전 상황이라면은 우리가 라야가 자꾸 틀리는 문제를 다시 재학습하도록 시스템에게 시키면서 정답률을 우리가 충분히 극단적으로 올릴 수도 있겠죠.
실제로 틀린 문제를 우리가 보면은 조금 더 구체적으로 우리가 알 수가 있는데 자 예를 들어서 머그컵 반품 성장은 어디서 맞나요라는 문의가 있었거든요. 자 이미 반품이 접수된 상황이라는 정보도 같이 들어가 있었고 우리 기준에서는 교환 반품으로 보내야 하는데 라야 같은 경우에는 배송으로 분류를 했어요 이거를. 자, 그리고 키보드 색상 옵션을 비교하고 싶어요라는 분이도 있었는데 구매 전에 색상을 비교하는 상황인데 이거를 상품 무의가 아니라 교환 반품으로 보냈습니다. 첫 번째 같은 경우에는 조금 어, 틀릴 수도 있지 않나 싶은 내용이고 두 번째 같은 경우에는 너무 황당하게 틀렸죠. 자, 그래서 이런 경우라면 우리가 CST팀한테 시켜서 정답만 고쳐 놓서 그냥 끝나지 않고 헷갈릴 만한 상황들을 우리가 같이 모아 놓을 수가 있겠죠. 그 케이스들을 구매 전에 색상을 묻는 경우랑 이미 받은 제품을 다른 색상으로 교환하는 경우를 우리가 나란히 넣어 주고 어떤 차이 때문에 분류가 달라지는지 학습하도록 우리가 유도를 할 수도 있다라는 거예요.
자, 그렇게 우리가 보강한 데이터로 다시 학습시키고 학습에 넣지 않은 새로운 분위에서 또 우리가 구분을 잘하는지 한 번 더 프로젠 테스트를 할 수도 있고요. 자, 그래서 제 생각에는 우리 업무 기준에 완전히 맞춰서 이렇게 우리가 직접 고쳐가면서 학습시키면서 라를 쓸 수가 있기 때문에 여러분이 만약에 프론트 단에 라우터가 필요하다면은 라를 검토를 해 볼 만한 가치가 충분히 있다고 봅니다. 자, 그리고 로컬에서 쓸 수 있다는 장점도 있고 제브가 잘해내지 못하는 특정 영역의 문제들이 있다라고 하면은 우리가 라야는 그냥 직접 학습을 시킬 수가 있기 때문에 어떻게든 우리가 성과를 계속 높여낼 수 있다라는 장점도 있고요. 자, 그리고이 라우팅 같은 경우는 본격적으로 우리가 답변을 만들기 전에 기본적으로 거쳐야 되는 단계잖아요. 그죠? 자, 여기서 우리가 오랫동안 레이턴시가 생기게 되면은 뒷단에서 lm이 답변을 작성 시작하는 시간도 그만큼 늦어지겠죠. 당연히 잘 고르는 퍼포먼스는 둘째 치고 속도도 굉장히 빨라야 된단 말이에요.
자, 그래서 제가 응답 시간도 기록을 해 뒀는데 자, 제 API는 요청을 보내고 결과를 받기까지 중앙값이 0.5초 정도 됐어요. 자, 제는 제가 AI 게이트웨를 통해서 사용을 했습니다. AI 게이트웨이죠. 자, 그리고 1천 건을 학습시킨라는 맥북에서 한 건을 분리하는데 0.11초밖에 안 걸렸고요. 자, 이게 당연히 제브 모델 자체가 느리다라는 뜻은 아니에요. 제브는 우리가 인터넷을 통해서 갔다 오는 거기 때문에 서버에서 처리하고서 돌아오는 시간까지 포함이 다 돼 있어서 레이턴시가 크게 생길 수밖에 없고 자,라 쪽은 당연히 로컬에서 모델을 뛰어 놓은 상태에서 분리한 시간이죠. 자, 그래서 라를 우리가 같은 컴퓨터 또는 같은 네트워크 안에서 우리가 돌리게 되면은이 분류를 외부를 오갈 필요가 없이 우리가 작업을 할 수가 있다라는 거죠. 그래서 고객 문의를 외부 모델 서버로 돌리지 않고 내부에서 분류하도록 구성할 수도 있고 회사에서 외부로 보내기 어려운 자료를 만약에 다룬다라고 하면은 이런 선택지가 훨씬 더 의미가 있을 수가 있겠죠.
자, 물론 이번 프로세스에서 제가 1만금까지 학습을 시켰을 때도 제가 제너럴하게 더 정확했어요. 자, 그래서 여러분도 고를 때 정확도랑 응답 시간 직접 학습할 필요가 있는지 뭐 이런 것들을 여러분들이 조금 고려를 해 가지고 결정을 해야 될 거 같고 특히나 여러분의 업무에서 절대로 틀리면 안 되는 무들 그런 것들을 잘 대처하는지 여러분이 잘 구분을 한번 해 줘야 될 것 같아요. 자, 그렇지만 이번 실험에서 우리가 확인할 수 있었던 것처럼 고작 M4프로 램 24GB짜리 맥북에서도 우리 분류 기준에 맞춰서 모델을 직접 학습시키고 실행할 수 있다라는게 굉장히 큰 장점이었고요. 대단히 특별한 GPU 환경도 없었어요. 청권 학습하는데 우리가 48분밖에 안 걸렸고 그 시험에서 정답률이 32.8%에서 무려 86.4%까지 4%까지 올라갔습니다. 자, 그래서 우리 업무에 완전히 딱 들어맞는 라우터를 직접 만들고 싶다라고 하면은 라야는 정말 한번 검토해 볼 만한 선택지라고 저는 생각을 하고 저 개인적으로도 이번 콘텐츠는 진짜 며칠에 걸쳐서 제가 정말 만족하면서 좀 실험을 해 봤어요.
되게 재밌었고 어 여러분께 좀 도움이 되길 바라면서 도움이 혹시 됐다라고 하면 꼭 구독과 좋아요, 알림 설정 그리고 하이보이까지 해 주시면 정말 감사하겠습니다. 자, 그럼 저는 다음 영상에 더 좋은 영상으로 찾아뵙도록 할게요. 감사합니다. 쏘지. Yeah.
AI 자동 생성 콘텐츠
본 콘텐츠는 코드팩토리의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기