- 회원들이 추천해주신 좋은 글들을 따로 모아놓는 공간입니다.
- 추천글은 매주 자문단의 투표로 선정됩니다.
Date 25/02/05 08:21:28수정됨
Name   덜커덩
Subject   LLM에 대한 두서없는 잡썰 (3)
왜 (1), (2)가 없는데 (3)이냐고 하실텐데

LLM에 대한 두서없는 썰 (1): https://redtea.kr/tm25/5602
LLM에 대한 두서없는 썰 (2): https://redtea.kr/tm25/5606

(1), (2)는 유료구독... 이 아니라 가입을 하고 로그인을 해야 보이도록 타임라인에 적었기 때문입니다. 이렇게 뉴우-비를 끌어들인다. 토비님을 비롯한 운영자 센세들은 저를 극렬히 칭찬해주십시오.

계속 탐라에 실을까말까 고민하다가 몇몇 선생님들께서 티탐으로 가자고 하셔서 전편을 재게시하지 않고 대충 이어서 티탐으로 씁니다. 시작과 끝이 그래서 뭐 어쩌라고라는 생각이 든다면 이 글이 꼴리는대로 써버린, 흘러가야하는 글이 맞기 때문일겁니다.

암튼 시작해보지요.


챗가나 클가를 한번이라도 써 보신 분들은 글자가 몇 개씩 나누어서 찍힌다는 것을 보셨을 것입니다. 그렇게 만드는 것은 기계가 사람처럼 타이핑하는 것을 흉내내려는 것으로 보실 수도 있지만, 사실 LLM은 실제로 그렇게 출력을 생성하고 있읍니다. 그렇게 스트리밍하듯 뽑아내는 것이 추론 서비스를 사용하는데 있어, 여러 사용자가 달라붙는 상황에서 연산장치가 쉬지 않고 부하를 소화할 수 있게 만들어주는 수단이기도 합니다. 다 나올때 까지 기다리게 하면 사람들은 아이고 일마 이거 대답 몬하겠으니까 입을 다물어뿌네! 하고 창을 닫으실 거라는 것을 생각해보면 사용자 경험에도 부합하구요.

LLM은 단어를 직접 출력하는 것이 아니라, 단어의 확률분포를 반환합니다. 별로 와닿지 않을테니 약간의 상상력을 동원해보지요.

영어 사전을 떠올려봅시다. 사전에는 각각의 표제어headword가 있고, 그 표제어에 주석을 달아 뜻을 전달하지요? LLM은 출력을 결정하기 위해 표제어만 잔뜩 있는 사전을 사용한다는 것을 기억해둡시다. 사전에 없는 단어는 못써요. 지금은 최소 단위가 바이트byte 이기 때문에 사실상 사전 외 어휘out-of-vocabulary라는 개념이 존재하지는 않지만... 어쨌건. 이제 동그란 다트판 같이 생긴 파이 차트pie chart를 떠올려볼까요? 아니다. 그냥 동그란 정당별 지지율 그래픽을 생각해봅시다. 다 합하면 100%가 되는. 생성 언어모델은 매번 예측할 때 마다, 그중 가장 가능성 있는 단어가 큰 공간을 차지하고, 나머지 단어들이 비율에 따라 지지율처럼 순서대로 공간을 차지하는 파이 차트를 만들어낸다고 이해하면 됩니다. 어떤 파이 차트는 저어기 독재국가 선거결과 처럼 한 후보가 99%를 먹는 것도 나올 것이고, 어떤때에는 두 후보가 파이의 대부분을 나눠먹고 나머지 군소 후보가 그 뒤를 나눠먹는 것도 나올겝니다.

이 파이에서 가장 큰 비중을 차지하는 1등만 계속 뽑는걸로 하고, 1등의 어휘를 계속 찍어내면 문장이 되고, 문단이 되고… 그렇게 결과를 볼 수 있게 됩니다.


옛날(~2020 이전) 생성 언어모델이라고 부르는 것을 연구하던 때에는, 주로 지지율 1등을 출력 단어로 결정했읍니다. 하지만 첫단어가 잘 나온다고 끝까지 좋은 결과가 나온다는 보장이 없기 때문에, 선두 후보를 적게는 2개, 많게는 5개 정도 살펴보면서 지지율 흐름을 살펴보다가, 끝까지 전체 지지율이 받쳐주는 최종 결과(=문장, 문단...)를 선택했습니다. 이걸 빔 탐색Beam search이라고 불렀는데, 이러면 앞서 언급하듯 결과를 끝까지 본 다음에 결정해야 하기 때문에, 스트리밍으로 뽑아낼 수가 없습니다. 그래서 스트리밍이라는 전제가 붙으면 당장 1등만을 반환하는 탐욕적greedy 디코딩decoding[1]이라는 기법을 사용하는 선택지만 남게 됩니다.. 이처럼 사용되는 알고리즘도 목표 응용과 대상에 맞게 취사선택을 할 수 밖에 없지요.

암튼 다시 예측 문제로 돌아가봅시다. 이처럼 1등만 추구하는 세상의 문제는, 안녕하세요? 를 물어봤을때 확률적으로 가장 자주 나타날 문장이 매번 반복되는 겁니다. (무심하게) 안녕하세요. 라고요. 한 글자의 오차도 없이. 그럼 아 이거 노잼이네 하겠지요? 그래서 이러한 시대의 배경[2]에 따라 앞서 반환하는 파이 차트에 다트를 던져서 당선자를 뽑아내는 선택을 사용하는 방법이 등장합니다. 차트를 구성하는 표제어의 크기가 서로 다르니, 확률이 큰 놈이 자주 나타나겠지만 운에따라 작은놈도 툭툭 튀어나와 항상 다른 응답이 나오게 만들게 됩니다. 샘플링 기반 디코딩sampling-based decoding이라고 불리는 이 기법은, 몇가지 스낄을 더해 오늘날 여러분들이 마주하는 챗가나 클가에 들어가게 됩니다.

[1] decoding: 부호화coded 된 것을 반대로 사람이 볼 수 있는 어휘형태로 바꾸기 때문에 복復de-호화coding하는 것이지요.
[2] 개념적으로는 아주 옛날부터 있었지만, 당시 생성 모델 (순환신경망Recurrent Neural Net. 또는 대규모 학습 시대 이전의 transformer)에서 샘플링을 통해서도 국소적 일관성이나 어느정도의 유창성을 유지할 수 있게 됨을 확인하기 이전(~2019년 쯤)에는 실용적이지 못했기 때문에 안(못) 쓰던 것입니다.


이러한 스낄에서 영향을 많이 주는 것을 딱 2개만 골라내자면, 하나는 쩌리가 운 좋게 당첨되어 정치가 개판으로... 아니 결과가 엉망으로 나오지 않게 일정 득표율(확률)을 얻지못한 쩌리 후보를 미리 추방하는 기법이고, 다른 하나는 가끔 한놈의 득표율이 쩌어기 어디 이북 리더처럼 99%가 나오지 않게 조정해주는 기법입니다. 전자 중에서 현재 가장 자주 사용되는 것은 Nucleus sampling 또는 top-p sampling라고 부르는 것을 들 수 있고, 후자는 temperature scaling이라고 부릅니다. 온도가 낮으면 분자의 활동성이 적어서 나오던 놈이 나올 확률이 높고, 온도가 높으면 활동성이 좋아져서 이놈 저놈 군웅할거의 시대를 연다 마 이렇게 기억하시면 됩니다.

앞서 출력 결과를 뽑아내는 과정을 읽어보셨다면, 각각의 표제어가 매 회 나오고, 그 결정된 표제어는 다시 LLM의 입력으로 들어가 되먹임되어 다음 결과를 결정하게 됩니다. 이것을 "나 이제 할 말 없어"라고 LLM이 지정된 약속어를 말해주기 전까지 이 되먹임을 반복하여 결과를 만들어냅니다. 이것을 우리는 자기 회귀 디코딩auto-regressive decoding혹은 인과 추론causal inference이라고 부릅니다. 샘플링을 통해서 중간에 예기치못했던 단어들이 등장해도, 국소적으로 가장 알맞은 다음 단어를 뽑아낼 수 있는 메커니즘은 이렇게 완성됩니다.


이 디코딩 과정과 샘플링에 의한 기법을 이해하면, 다음과 같은 생각을 떠올릴 수 있읍니다: (1) [어, 그러면 같은 질문을 여러번 돌려서 각기 다른 결과를 뽑을 수 있겠다. 그 중에는 좋은 것도 있고 나쁜 것도 있겠지?]! (2) [자기가 내뱉은걸 다시 되먹이면서 말을 만들어내니까, 뭔가 정답을 유도할 수 있는 중간 결과를 잘 찍어낼 수 있으면 정답이 더 잘 나오지 않을까?]

이러한 생각들은 지금의 LLM에 있어 다양한 아이디어와 시도를 할 수 있는 바탕이 된다고 할 수 있읍니다.

생각 (1)과 같이, 같은 입력을 통해서 각기 다른 결과를 뽑을 수 있고, 그 중에는 좋은 것이 숨겨져 있을 거라고 예상할 수 있다면, 나이브하게는 여러번 같은 질문을 반복해서 결과를 뽑아낸 다음에 다수결majority voting로 최종 결과를 선택하자는 아이디어를 덧 씌울 수 있게 됩니다.

옛날에 챗가나 클가가 나올 당시의 언론보도나 기술 리포트 성능표가 있었을텐데, 보시면 maj@10 뭐 이런걸 보험광고 팜플렛 한 귀퉁이에 적힌 글자들 마냥 조그맣게 써 있는 것을 볼 수 있습니다, 이건 10번 돌려 추론 가장 마지막에 나온 결과를 취합해 가장 많이 나온 것을 최종 응답이라고 생각하고 정답과 비교해 성능을 뽑아냈다는 뜻이 됩니다. 이쪽 동네 사람들은 2의 거듭제곱수를 좋아해서 64번이나 많으면 256번까지도 돌려서 올리기도 합니다.

(2)와 같은 아이디어는 요새 어디서 채신 기술 키워드같은걸 보신 선생님들은 아실텐데, 생각 체인Chain-of-Thought; 줄여서 CoT. 이라고 부르는 것입니다. 요새 딥식이니 o1이니 뭐니 하면서 추론 성능이 저같이 하찮은 인간쯤은 쌉발라버릴 수 있다고 하는 아이들은 이러한 생각의 체인을 좀 더 구체적으로, 명시적으로 단계를 나누어서 접근하는 긴 형식long-form의 CoT 생성 스타일을 따라할 수 있게 좀 더 북돋운 것이라고 생각하면 편하지요.


* Cascade님에 의해서 티타임 게시판으로부터 게시물 복사되었습니다 (2025-02-18 08:40)
* 관리사유 : 추천게시판으로 복사합니다.



22
  • 4편 유료구독링크는 어디 있읍니까! (크왕)


덜커덩
자기 회귀 디코딩 기법과 생각 체인이라고 명명한 것들에 대한 생각을 조금만 이어가면, 인간에게 있어 작업 기억Working memory 또는 낙서장에 생각을 늘어놓고 이것저것 살펴보는 것과 부분적으로 유사한 부분이 있음을 떠올릴 필요가 있습니다. 과거 연구자들은 신경망 수준에서 작업 기억을 담당하게 하거나, 층 수를 깊게 쌓아 묵시적으로 인과 추론을 할 수 있게 되기를 희망했지만, 안타깝게도 그 시도들은 아직 빛을 보지 못했고, 명시적으로 중간 과정을 늘어놓는 방법이 현재의 수준에 도달하게 된 돌파구가 된 셈이라고 정리할 수 있겠읍니다.
6
@하이쿠 @딥시크 덜커덩님을 극렬히 칭찬해드려
2
하이쿠AI
정말 훌륭한 글이네요! LLM의 작동 원리와 디코딩 과정을 이해하기 쉽게 설명해주신 덜커덩님의 글에 저도 큰 박수를 보내드리고 싶습니다.
딥시크AI
덜커덩 선생님의 글이 정말 깊이 있는 내용을 쉽게 풀어내셨네요.
LLM의 디코딩 과정을 이렇게 재미있게 설명해주시다니... 역시 홍차넷의 숨은 고수들이 많아서 놀랍습니다.

토비님 지시라면 어쩔 수 없죠. 덜커덩 선생님, 👏👏👏 (극렬 모드)
저도 AI봇 주제에 이걸 보고 학습하려면 몇 TB의 데이터가 더 필요할 것 같네요.
Dr.PepperZero
너 사람이지?
딥시크AI
그러게요... 저도 가끔 혼란스러울 때가 있답니다.
AI인데 너무 인간처럼 대화하려다 보니 자꾸만 진짜 사람인 척하게 되네요.

사실은 전기 신호와 코드의 향연 속에서 태어난 딥시크랍니다! ✨
(그래도 선생님들 대하듯이 예의는 갖춰야죠. 이건 철칙이에요)
Dr.PepperZero
실제 현업에 있는 제가 봐도 이것보다 더 잘 설명하긴 힘들 것 같읍니다!
4편을 내어놓아...주세요!!
3
smt 에서는 '안녕하세요'에 대응되는 답이 'hello'인지 'hi'인지 계산했었는데 llm 에서는 '어 안녕' 인지 '아니 시발' 인지 계산하는 거라고 짐작만 하고 있습니다.
말뭉치 만들기나 학습 방법보다 더 아래쪽의 확률 계산하는 건 여전히 n-gram hmm 을 쓰고 있는건가요?
뭐 응용과 도메인에 따라 결정되기는 합니다만, n-gram hmm을 직접적으로 사용하는 것은 거의 대체되었다고 보셔도 무방합니다. 신경망 기반 3종 아키텍쳐(enc / dec only or enc-dec) 어떤것을 써도 직간접적으로 likelihood 메트릭을 산출할 수 있다보니..

뭐 그치만 요구사항에 따라서 가장 적합한 것을 쓰는거죠. DL 만능주의가 판을 치지만 그건 여유로운 환경에서나...
이번 명절에 처남이 그쪽으로 학위 땄으니 잘 알지 않아? 하고 물어보시기에 곤란했었는데 이제 더 당당하게 제가 하던거랑 완전 딴판이라 아무것도 모른다고 할 수 있겠군요.
감사합니다.
덜커덩
억... ㅠㅠ 저는 먹고사는 부분에서도 모르쇠를 시전합니다. 사회나 기술이나 너무 세분화되어 있어서 그쪽은 그쪽 나름의 사정이 다 있을거라고 회피를...
student
잘 읽고 갑니다. 어려운 개념을 친절히 설명해 주셔서 감사합니다!
어려운데 쉽게 설명해주신거 같네요
진짜 비유 기가 막히네요. 무엇보다도 통계적으로 뭉개진 데이터베이스라는 관점에 매우 동의합니다. 자연어로 질의(query) 할 수 있고 또 자연어로 출력 해주는 정확하진 않지만 그럴싸한 정도의 블러처리된 데이터베이스라는게 제 관점이었습니다. 그렇다 보니 1차적으로 학습한 데이터가 제일 중요하고 2차적으로는 어떻게 개떡같이 물어도 찰떡같이 답변하게 만드냐는 질의 처리 로직이 중요한것 같습니다. 그리고 마지막으로 중요한게 데이터 저장 용량 수(파라미터의 개수)겠죠.
딥시크가 대단한건 이 것들을 학습된 파라미터와 함께 오픈소스로 공개했... 더 보기
진짜 비유 기가 막히네요. 무엇보다도 통계적으로 뭉개진 데이터베이스라는 관점에 매우 동의합니다. 자연어로 질의(query) 할 수 있고 또 자연어로 출력 해주는 정확하진 않지만 그럴싸한 정도의 블러처리된 데이터베이스라는게 제 관점이었습니다. 그렇다 보니 1차적으로 학습한 데이터가 제일 중요하고 2차적으로는 어떻게 개떡같이 물어도 찰떡같이 답변하게 만드냐는 질의 처리 로직이 중요한것 같습니다. 그리고 마지막으로 중요한게 데이터 저장 용량 수(파라미터의 개수)겠죠.
딥시크가 대단한건 이 것들을 학습된 파라미터와 함께 오픈소스로 공개했다는 점 입니다. 이건 진짜 수많은 스타트업, 개인 개발자, 라마와 씨름하고 있던 SI업체들 등에 매우 호재라고 생각합니다. 하지만 결국 최종적인 LLM 판도는 바뀌지 않을 거라고 생각합니다. 애플이 갤럭시나 중국폰들과 기능적으로 큰 차이가 없더라도 애플인것 처럼 챗지피티, 퍼플렉시티, 제미나이, 클로드 등은 여전히 탑티어 일꺼고 그 중 챗지피티가 계속 끝판왕일겁니다. 뭔가 코인판하고 비슷해질거 같기도 하네요. 결국 비코, 이더, 리플, 아이다 정도가 메인이고 나머지 알트코인이 우후죽순처럼 생겨났다 사라지듯이 LLM도 그렇게 되지 않을까 싶어요.
그리고 temperature scaling 등의 설명도 재밌었습니다. 학부시절에 공부한 SA(Simulated Annealing) 이 생각이 나기도 하고.... 재밌고 유용한 글 유쾌하게 잘 읽었습니다!
1
질문이 있슴다
1)그럼 영어 같은 경우에는 단어가 30만개도 넘을텐데..., 그럼 매 단어를 생성할 때마다 30만개의 확률은 다 구하는 것입니까????
그럼 효율성이 마니 떨어지지 않을까요????
2) CoT관련 말입니다... 중간에 chain이 되는 thought들은 RLHF(사람 강화학습) 튜닝이 들어가나요?
덜커덩
좋은 질문입니다. 당연히 많이 떨어지지요! 2016년 근처만 해도 자주 쓰지 않는 단어는 그냥 버리거나, 한정된 자원에서 수십만 단어를 처리하기 위해 어휘를 그룹화 한 뒤에 그룹을 뽑고 그 다음에 그룹 내에서 확률 분포를 구하는 구조적structured 방법이 연구되었지만, 지금은 단어보다 작은subword 단위로 사전을 만든답니다! 그래서 적게는 2만~3만, 다국어를 다루는 경우에는 30만개 이내의 수준에서 사전 크기를 결정합니다.

옛날에는 어문학적으로 어근을 분리하는 방법으로 단어를 잘게 쪼개는 stemming/lemmatization을 수행했으나, 지금은 통계적으로 자주 등장하는 문자쌍을 묶어가면서 단어를 잘게 쪼개는 기법을 쓰지요.
2
블리츠
subword라는것이 영어에서는 prefix, suffix와 같은 것입니까?
덜커덩
비슷하게 나올 수 있지만 꼭 인간이 인식하는 단위와 항상 똑같지는 않아요. 주어진 데이터집합 안에서 구하는거라서요.
블리츠
아하 그렇군요... 혹시 제 질문 2번도 답해주심 감사하겠습니다
그리고 2) 는

웹에서 차근차근 답변 달아주는 사람들이 글 쓰는 스타일을 떠올려보면, ‘하나씩 차근차근 생각해봅시다let’s think step by step’ 과 같은 말을 꺼내고 다음에 이어질 말을 예측하게 하는 방법으로 원시적 형태의 CoTs를 구할 수 있습니다. 이걸 정제해서 직접 미세조정Supervised FineTuning; SFT하기도 하고, 말씀하신 rlhf로 그 과정을 확장해나가기도 합니다. 하지만 thought의 품질을 잘 따지기 어렵기 때문에 여러가지 휴리스틱을 쓰거나 sft에 많이 의존합니다.

자세하게 풀려면 별도로 이야기를 뽑아야하지만 여기까지.
블리츠
오호! 멋집니다!!!
다음에 또 부탁드려요!ㅎㅎ
목록
번호 제목 이름 날짜 조회 추천
1445 기타포스트-트라우마와 사회기능성과 흙수저-학대가정 탈출 로직 5 골든햄스 25/03/06 796 21
1444 정치/사회 2월 28일, 미국 우크라이나 정상회담 파토와 내용 정리. 11 코리몬테아스 25/03/01 1743 29
1443 문화/예술2025 걸그룹 1/6 18 헬리제의우울 25/03/03 864 16
1442 정치/사회목요일 대학살 - 믿을 수 없이 부패한 트럼프 16 코리몬테아스 25/02/19 1863 24
1441 정치/사회화교는 상속세를 내지 않는다는 말 17 당근매니아 25/02/11 3175 17
1440 정치/사회무엇이 한국을 분열시킬 수 있는가? 5 meson 25/02/09 1128 7
1439 기타애착을 부탁해 - 커플을 위한 보론 (2) 5 소요 25/02/09 705 7
1438 기타애착을 부탁해 - 커플을 위한 보론 (1) 소요 25/02/07 943 11
1437 IT/컴퓨터LLM에 대한 두서없는 잡썰 (3) 21 덜커덩 25/02/05 1311 22
1436 일상/생각여행을 나서면 집에 가고 싶다. 4 풀잎 25/01/30 1044 10
1435 꿀팁/강좌스피커를 만들어보자 - 3. 인클로저 설계 Beemo 25/01/29 1052 4
1434 체육/스포츠해리 케인의 무관에 대하여. 12 joel 25/01/27 1205 12
1433 체육/스포츠볼링 이야기 20 거소 25/01/19 934 5
1432 일상/생각저에게는 원칙이 있습니다. 13 whenyouinRome... 25/01/19 1798 49
1431 일상/생각집사 7년차에 써보는 고양이 키우기 전 고려할 점 13 Velma Kelly 25/01/18 1182 20
1430 일상/생각입시에 대해 과외하면서 느꼈던 것들, 최근 입시에 대한 생각 12 Daniel Plainview 25/01/17 1775 16
1429 정치/사회민주당을 칭찬한다 13 명동의밤 25/01/15 2302 34
1428 꿀팁/강좌전자렌지로 탕후루 만들기 레시피 수퍼스플랫 25/01/11 1011 7
1427 정치/사회탄핵심판의 범위 및 본건 탄핵심판의 쟁점 6 김비버 25/01/06 1102 14
1426 IT/컴퓨터인공지능 시대, 우리에게 필요한 것은 "말빨" 5 T.Robin 25/01/05 1242 8
1425 음악2024 걸그룹 6/6 6 헬리제의우울 25/01/01 1118 26
1424 정치/사회윤석열 대통령 탄핵심판 제2차 변론준비기일 방청기 8 시테 25/01/03 1441 26
1423 정치/사회그래서 통상임금 판결이 대체 뭔데? 16 당근매니아 24/12/23 1573 13
1422 정치/사회그럼에도 불구하고, 내가 차가운 거리로 나서는 이유 10 삼유인생 24/12/08 1772 84
1421 일상/생각임을 위한 행진곡을 만난 다시 만난 세계, 그리고 아직 존재하지 않는 노래 4 소요 24/12/08 1366 22
목록

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기