top of page

LLM

  • 작성자 사진: Minwu Kim
    Minwu Kim
  • 2024년 6월 18일
  • 3분 분량

최종 수정일: 2024년 12월 14일


ree

랩에서 라마3 갖고 논지도 어느덧 4주차다. LLM을 만드는 기술은 수학의 비중이 꽤 크지만, LLM의 응용 자체는 수학 쓸 일이 별로 없다. 그래서 딱히 머리 아플 일은 없다. 대신 엉덩이는 좀 아파야 한다. 그냥 엔지니어링이 전부다. 하지만 그마저도 랭체인이나 라마인덱스가 너무 쉽게 잘 만들어져 있어 크게 힘든 점도 없다.


3주간 연구해본 것들을 바탕으로 느낀 것들을 생각나는대로 적어본다.



일단 LLM의 통제 가능성 얘기로 시작하고 싶다. LLM의 가장 큰 한계는 출력값을 완전히 통제하지 못한다는 것에 있다 (한계 보단 특성에 가깝긴 하다만. 뭐 아무튼). 비슷한 질문이어도 매번 답변이 다르다. 이러한 통제불능한 특성 탓에 많은 학자들은 특이점이 왔을 때 인류가 멸망할 수 있다는 우려를 내놓기도 한다. 지당한 지적이라고 본다. 하지만 일단 그런 미래적인 얘기는 일단 넣어두도록 하자. 그보다 나는 지금 당장의 LLM 기술의 제약에 초점을 맞추고 싶다.


소프트웨어 개발을 흡사 유기체를 만드는 것과 같다. 모든 가능성을 통제범위 안에 넣어두고 파이프라인을 정교하게 구축해야 한다. 아주 디테일한 작업이다. 하지만 여기서 LLM이 가세한다면 불안정한 경우가 많이 일어난다. LLM이 시키는 대로 답을 하지 않는 경우가 종종 발생하기 때문이다.


이를테면 이런 것이다. 현재 RA-LLM을 좀 만들고 있는데, 사용자의 질문을 거치면 여러가지 절차를 거친다: LLM이 직접 retrieval가 필요한지 판단해야 하고, retrieve가 된 데이터가 사용자 질문과 relevant한지 판단해야 하고, 최종 생성된 답변이 hallucination이 없는지 판단해야한다. 이외에도 몇 개 더 있다. 이런 수많은 절차를 LLM 에이전트들이 직접 판단하는데, 여기서 오류가 생기는 경우가 상당히 많다. 단순히 판단오류를 할 때가 있고, 대화가 길어지면 lost in the middle 문제가 날 때도 있고, context window의 dynamic management가 relevant한 문서를 irrelevant하다고 판단해버릴 때가 있고, 아무튼 별의 별 경우가 다 있다. 에이전트 하나의 평균 정확도가 90%라고 했을때, 파이프라인에 에이전트가 7개만 있어도 정확도는 5할 이하로 떨어진다. 거의 뭔 삼전 4나노 수율이다.


사실 이러한 문제는 1대1 챗봇을 굴리는데에는 큰 애로사항은 아니다. 유저가 항상 대화 내용을 일일이 트래킹하기에, 오류가 나도 아주 큰 문제는 없다. 해봤자 종종 거짓정보로 유저를 오도할 수 있다는 점 정도 뿐이다. 하지만 LLM으로 어떤 대형 시스템을 구축한다면 얘기는 달라진다. 저런 통제 범위 밖 불안정성이 있다면 그 시스템은 많이 위태로울 것이다. 심지어 그 오류가 시스템 오류가 아닌 그저 자연어이기에, 오류인지 아닌지 판단하기엔 더더욱 힘들다 (물론 그래서 랭스미스 같은 데브옵스 툴이 다 있긴 하다).


그래서 하는 것이 파인튜닝과 프롬프트 엔지니어링이다. 하지만 이 역시 한계가 존재한다. 간접적인 방식이기에 100% 통제를 할 수는 없다. 마치 중앙은행이 기준금리 갖고 물가 통제하는 것과 같다. 잘 통제가 안 된다는 뜻이다. 물론 이 프롬프트로 최대한 잘 통제해보기 위해 여러 연구가 진행되고 있다. 하지만 그래봤자 무식한 brute force 방식이다. 예시 몇개 주면 더 답을 잘하더라, 팁 준다고 하면 더 길게 답하더라, 뭐 이런 식으로 말이다. 그냥 얻어걸릴 때 까지 이것저것 되는대로 다 시도해보는 것이다. 물론 이런 시도도 분명 필요하지만, 근본적인 해결책은 될 수가 없다.


백 번 양보해서 brute force를 해도 될 만큼 인력과 컴퓨팅 파워가 넘친다고 가정해보자. 그럼 다음 문제는 "어떻게 모델의 퍼포먼스를 계량하는가"이다. 논문들을 보면 여러가지 벤치마크 QA pairs가 있는데, 이 역시도 모델의 퍼포먼스를 제대로 평가한다고는 얘기하기 힘들다. 사람의 언어라는 것은 수학이 아니기에 칼로 무 자르듯 점수를 매기기는 다소 어렵기 때문이다. 그래서 요즘 유관 논문 읽으면 results 섹션은 대부분 그냥 슥 보고 만다.


일단 이 정도인데, 현재 LLM 연구는 컴퓨터 과학보다는 자연과학 연구에 더 가까운 것 같다. 마치 영화 <Arrival>에서 외계인을 처음 보고 소통해보려는 시도와도 같달까. 어쩌다 보니 그 쪽 분야 친구들이 몇 명 생겼는데, 그 쪽의 연구는 어떤 애티튜드를 취하는지, 어떻게 이 불규칙성을 수학적 방법론으로 해소하는지 등을 한 번 물어봐도 좋을 것 같다.



06.26.


사고실험 하나 더:

ree

인간은 언어로 생각하지 않는다는 주장이다. 링크

전에 한 번 요런 글을 썼었는데, 저게 사실이라면 내 생각을 정면으로 뒤집는 것이라고도 볼 수 있겠다.

오우웰, 아무튼. 두고두고 곱씹으면서 생각해봐도 좋을 듯 하다.


 
 
 

댓글


bottom of page