Park Chansung 9월 15일 오후 11:51
더이상 LLM을 파인튜닝 하는게 크게 매력적이지 않거나, 조금씩 방향이 바뀌면 어떨까 싶은 생각이 듭니다.
초기에는 7B로 시작했으나, 큰 모델에 집중하는 형국이 되어서 이제는 모두 33B/70B 이상 모델만 건드리고 있습니다. ChatGPT/Bard/Claude 수준의 범용으로 사용 가능한 채팅용 LLM을 만들고 싶어하는 것 같은데요, 그러면서 소규모 모델로도 잘 나가는 상용 LLM을 뛰어넘는게 가능하다를 보여주려는 것처럼 보이네요.
이런 노력 좋기는 합니다만, 99%의 거의 모두가 동일한 백본 모델에 기반하여, 조금씩 다른 방법으로 생성된 데이터셋을 활용하고 있습니다. 또한 초기와는 달리 GPT4 등으로 생성했음에도 불구하고, 정확히 어떤 데이터셋을 활용했는지 오픈하지 않는 경우들이 생김에 따라 Eval Dataset의 Leak이 의심되는 상황이 펼쳐지고 있네요. 또한 99%의 경우 GPT4가 생성한 데이터를 활용하기 때문에, 효용 가치는 모르겠으나 어느정도 GPT4를 흉내낼 수는 있다는 말이 맞는것 같기도 합니다 (GPT4를 뛰어넘었다! 라는 말이 좀 이상한)
안타까운 점은 시도되는 모델의 사이즈가 커짐에 따라, 이런 노력에 투입되는 하드웨어 리소스가 꽤나 낭비되고 있다는 점입니다. 뭐랄까, 기존 프로그래밍 에서 버그가 생기면 print 한 줄 추가하고 데이터를 찍어보는게, ML 세계에서는 데이터 생성 방법을 약간 바꾼 뒤 파인튜닝하는거랑 비슷하지 않나 싶은데요, 대신 비용 차이가 심하죠. 사실 데이터를 면밀히 관찰하고 / 클리닝하는 것 만으로도 꽤나 시간이 소요되어야 하지만, 극소수의 그룹으로 기여가 이루어지는 오픈소스 커뮤니티 차원에서 거의 매 주 새로운 모델을 구워내는 행위는 약간 음...?
저는 LLM이나 ML은 잘 모르지만, 일단 7B 모델로 갈 수 있는 끝이 어딘지 확인해 보면 어떨까 싶습니다. 다만 범용 대신 특정 상황에 한정된 파인튜닝을 해보는게 훨씬 더 의미 있을것 같군요. 가령 특정 (언어, 프레임워크, 타깃 환경)에 대해 코딩을 도와준다거나, 특정 환경의 복잡한 CLI 계층 구조를 인식하여 요구사항에 맞는 CLI를 자동 구성해 준다거나, DoctorGPT 같은 것이라거나, 일정 관리를 해준다거나 등등... sLLM 으로도 가능하다는 것을, 특히 LoRA를 씌워서 가능하다는 것을 보여주면 재밌을것 같습니다. 사실 대부분의 비즈니스에 "범용" 모델이 필요하지 않은 경우가 보통일것 같구요.
엔지니어링 측면에서도 Larger 모델을 서빙하고, 튜닝하는 기법들이 속속 등장하고 있지만, 이 방법들이 나오더라도 실제 사용화해서 적자를 모면하고 실제 흑자를 얻기란 쉽지 않을것입니다. 점점 더 효율적, 효과적이기는 하지만 여전히 GPU에 활활 태워야 하는 비용은 상상을 초월할 듯 싶군요. 그 대신 sLLM으로 할 수 있는 수준을 어느정도 명확히 파악하고, 실제 가능한 뭔가를 만들고 서빙하는 전체 시스템을 만들어보는게 엔지니어링 측면에서 볼 때 개인적으로 재밌을 듯 싶네요 ㅎ
요는 개인으로서 대규모 모델을 파인튜닝할 자원 조차도 없지만, 만약 제가 파인튜닝 전쟁에 참여하더라도, 어떤 큰 교훈을 얻기 힘들것 같다는 생각이 듭니다. 몇 가지 재미난 경험은 가능하겠지만, 그보다는 up coming 모델을 대비하며 시스템 아키텍처를 설계하고 구현해 보는게 훨신 더 큰 의미가 있지 않을까 싶다는 생각이 드는...
점점 더 좋은 모델들이 등장하는듯 보이지만, 오히려 보자마자 "이건 hype" 이라고 생각하고 무시하는 경우가 대다수가 되어버린 상황같고, 오픈소스 LLM은 높은 가능성을 가졌으며 시도해 보세요! 라고 오픈소스 프로젝트를 해두 실제로는 거의 사용하는 사람이 없어서 뭔가 회의적이군요 ㅋㅋㅋ 약 3주간의 출장 후 복귀했는데요, 그 동안 잠시 뒷짐지고 커뮤니티 활동을 거의 안하며 그동안 얻은게 뭐였나... 같은 생각을 하며 이런 글을 싸질러 봅니다