오랜만에 굉장히 설레는 논문 포스팅인 것 같다. 이 논문 이전에는 아무래도 미국 빅테크들의 LLM들만 주목받았었다면, DeepSeek가 R1을 공개하고 나서는 중국의 LLM 연구가 우수하다는 것을 전 세계에 알린 기점이 되었다고 생각한다. 실제로 엔비디아와 같은 주식이 폭락하기도 했고, 나 역시도 이 소식을 듣고 "진짜 중국이 이 정도로...?" 하면서 출시 당시 논문을 슬쩍 보기도 했었다. 실제로 순수 RL을 이용한 LLM incentivization은, 당시 RLHF가 최신 트렌드였던 업계에서 breakthrough가 되었다고 생각할 뿐만 아니라 강화학습의 활용성에 대해서도 다시 생각해보게 된 계기가 되었던 것 같다. 다들 참 대단하다. 나도 저런 연구자가 되고 싶다..ㅠ Main Contrib..
오늘은 RAG 기술에 대해서 다뤄보도록 하겠다. 모두들 기억하고 있겠지만, 정말 얼마 안된, 몇 년 전까지만 해도 LLM은 가장 큰 문제인 Hallucination에 직면하고 있었다. 사실 지금도 RAG와 같은 최신 기술(?)들을 follow-up 하지 않는, 비-테크 회사에서는 종종 LLM 관련하여 hallucination이 생길 경우 자료 정리를 어떻게 할 것인지 이런 질문들을 하기도 한다고 들었던 것 같다. 이제 그런 걱정은 없고, 학계에서도 Hallucination 관련한 내용을 거의 언급하지 않는 듯하다. 이는 모두 Facebook AI Research (FAIR) 에서 발표한 RAG(Retrieval-Augmented Generation) 논문 덕분이다. RAG의 직관적 이해 기존의 언어 ..
오늘은 현재 "Large" language model의 핵심 이론적 토대가 된, LLM의 Scaling Law에 대해서 간단히 짚고 넘어가보려고 한다. 이전까지는 LLM이라기보다는 LM 수준이었고, 이 Scaling law 원칙을 바탕으로 GPT-3등 본격적인 거대 언어 모델의 시대로 넘어간다고 해도 과언이 아닐 것이다. N, D, C and Power Laws 위의 차트는 LM task에서 performance를 결정짓는 변수들에 대한 것이며, 각 변수를 증가시킬 때마다 test loss가 어떻게 반응하는 지를 보여주는 그래프이다. 파라미터 수 (N): 성능은 비임베딩 파라미터(non-embedding parameters) 수에 가장 깨끗하게 반응한다.데이터셋 크기 (D): 충분한 모델 크기가 ..
오늘은 CNN에서 Multi-branch와 skip connection의 장점은 살리면서도 training time과 inference time에서의 모델 구조를 분리하여 연산량을 줄여 빠르고 단순한 구조로 바꾼 RepVGG에 대해서 알아보도록 하자. 이전에 발표를 한 경험이 있기에, 발표자료를 수록하도록 하겠다. Background 1. VGG-style ConvNet이 주는 장점 VGG 계열은 단순하고(Sequential), 깊고(Deep), 균일한(Uniform) 설계가 직관적이라, 구현/최적화/배포 측면에서 매력적이다.다만 성능 경쟁이 치열해지면서 Inception/ResNet처럼 분기(branch)가 있는 구조가 표준이 되었고, plain(VGG-style) 네트워크는 상대적으로 불리해지는 환..
지난 번에 우리는 policy gradient theorem을 통해 총 return에 대한 gradient, 즉 이 부분에 대한 gradient를, 다음과 같이 표현할 수 있다는 것을 알았다. 이제부터 모든 policy gradient 알고리즘들은 이 형태의 식에서 시작한다. 오늘은 Actor-Critic 방법들에 대해서 알아볼 예정이다. Actor-Critic 우리가 가지고 있는 문제는, 저 위의 true Q value를 모른다는 것이다. 이걸 approximation 할 수 있는 "Critic" network를 하나 만드는 것이 우리의 목표이다. 저 앞부분이 이제부터 조금씩 바뀔 건데, 저 앞부분은 약간 업데이트 기준이 되는 값이라고 생각하면 된다. 결국 Actor-Critic 방법은 저 앞부분을..
지금까지 우리는 "Value-based" RL을 보았다. Q-function을 approximation해서 가치를 추정한 다음에, 이를 바탕으로 policy를 구하는 과정이었다. 그래서 항상 흐름도 V(s)를 구하거나, Q(s,a)를 구한 뒤, epsilon-greedy 이런 식으로 policy에 대해서 다루었다. 근데 여기서 의문이 생기는 것은, 그냥 policy를 또 parameterized function으로 직접 구해버리면 안되나? 이런 내용일 것이다. 이러한 의문점에서 파생된 것이 바로 "Policy-based" RL이며, 지금부터 볼 policy gradient를 기반으로 한 알고리즘들이 바로 그것들이다. (당연히 gradient가 들어간다, parameterized function은 또 딱..
Part5에서는 Q-learning에 대해서 마지막으로 보았다. 이걸 다시 잠깐 recap 해보면, 타겟을 구성할 때 가장 큰 값을 가지는 (max) 다음 action을 현재 policy에 관계없이 따르는 것이었다. 그런데 당연히, 하나 의문점이 들 만하다. 아니 가능한 다음 action이 많을텐데, 그러면 수많은 Q값들이 있을텐데, 그게 뭔지 알고? 그걸 다 계산해보고 거기서 가장 max를 취하는건가? 라는 의문이다. Tabular Q-learning은 Q값들의 table로 관리하면서 업데이트 하는 방식이다. 문제는 이게 state와 action space가 커질수록 당연히 table로 관리하기가 힘들어진다. 그래서 드디어 Deep Neural Net이 나오는데, 이 Q값을 어떤 parameteri..
하나하나 세세하게 다루려다 보니까, 점점 늘어지고 있는 것 같은데, 어느새 part5까지 와버렸다. 이전에 TD learning의 prediction 부분, 타겟을 어떻게 구성하고 각 state의 value를 어떻게 업데이트할 건지에 대해 다뤘으므로, 오늘은 TD learning의 control 부분, 즉 policy를 어떻게 improve할 건지에 대한 방법인 SARSA와 Q-learning에 대해 알아보도록 하자. Policy를 어떻게 improvement할 건지에 대해서는 On-policy와 Off-Policy가 있다. SARSA가 On-policy, 그리고 Q-learning이 Off-policy method이다. Model-Free Control에 대해서 그 전에, Model-Free 상황..
Part3 에서는 모델에 대해서 정보를 아는, DP에 대해서 다뤄보았고, 여태까지의 우리의 생각의 흐름은 이제 DP의 모든 정보를 알아야한다는 단점에서 벗어나 모델에 대해서 잘 몰라도 뭔가를 하고 싶다! 까지 도달하였다. 이는 모든 state의 업데이트가 아닌, 돌다리를 두드려보는, 여기저기 탐방해봐야하는 방법의 필요성으로 이어지고, 이제 agent가 직접 경험한 trajectory들을 토대로 업데이트하는 방법들에 대해서 알아볼 것이다. 그 전에, 이제 sampling을 통해서 업데이트해 나아가는 방식으로 바뀌었으므로, 우리가 맞닥뜨리는 수식이 좀 달라진다. 앞으로의 수식은 다음과 같은 형태를 취할 것인데, 약간 gradient descent 생각하면 편할 것이다. 기존의 value를 추정한 것에다..
자, 여태까지 강화학습의 기본 개념들, MDP, 그리고 그 MDP를 풀기 위한 방법인 Bellman Equation까지 다뤄보았다. 이번에는 RL을 푸는 대표적이고 고전적인 알고리즘들에 대해서 알아볼 것이다. 우선은 environment에 대한 정보를 다 알 때 사용하는 Dynamic Programming 부터 시작하여, environment에 대한 정보를 모를 때의 방법들을 다루고, 이것도 모자라 environment에 대한 정보도 제대로 모르는데 문제가 점점 커지는 경우 (state, action space가 매우 큰 경우), DNN을 사용해서 Value, Q, policy를 모델링하는 방법으로 넘어가도록 하자. 알고리즘 분류법 굉장히 좋은 사진이 있어서 가져왔다. 여러 알고리즘들이 어떤 카테..