데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      ICML 2024를 다녀와서..

      jshwang0311 24.08.30
      2,843 11 1
      DEVOTEE 요약
      ICML 2024에서 발표한 이 논문은 스마트 공장에서 컨베이어벨트 및 모터의 이상 탐지를 위해, 라벨링이 안된 데이터(Unsupervised Outlier Detection)로 모델을 발전시킨 내용을 다룹니다. 모델은 초기에 inlier와 outlier를 구분하는 과정을 통해 이상치를 탐지하고, 이를 여러 모델의 앙상블로 안정성을 높였습니다. 또한 ICML에서 LLM 관련 논문들과 워크숍에서 다양한 주제(예: 알고리즘 정렬, 효율적 학습) 등을 다루어 큰 관심을 받았습니다.

      이번에 ICML(International Conference on Machine Learning) 2024에 outlier detection이라는 주제로 논문이 채택되어 포스터 발표를 위해 출장을 다녀왔습니다.

      원래는 Long Context LLM 2부에 대해 포스팅을 하려고 했지만 출장 다녀온김에 적시성있게

      제가 발표했던 내용과 짧게짧게 제가 파악한 LLM에 대한 전반적인 내용에 대해서 공유드리고자 합니다.


      ICML 포스터 발표

      개요 및 동기

      제가 발표한 논문은 smart factory관련 프로젝트를 할 때 시작을 하게 되었습니다.

      당시 프로젝트는 센서를 통해 컨베이어벨트 또는 모터들의 이상탐지를 하는 프로젝트였으며,

      이상상황에 대한 데이터는 labeling이 전혀 되어 있지 않고 대부분 정상상황에 대한 데이터로 구성된 Unsupervised Outlier Detection(UOD) setting입니다.

      그 당시 2 stage generative model로 모델을 만들어 배포를 하였으나 프로젝트가 종료된 이후에 likelihood based generative model이 Outlier Detection에 활용하는 것이 적합하지 않다고 밝혀졌습니다.

      프로젝트 종료 후에도 연구를 통해 likelihood base generative model을 fully fitting하는 것은 UOD를 푸는데 있어서 문제가 있지만

      fitting하는 early stage에서는 inlier loss가 outlier loss보다 작은 inlier memorization 현상을 발견하였고 이러한 부분이 motivation이 되어 해당 논문을 발전시키게 되었습니다

      image.png

      상세 알고리즘에 대한 내용

      조금 더 깊이 있게 알고리즘에 대해 얘기를 해보면 likelihood based generative model fitting을 언제까지 하는지를 판단을 해야 합니다.

      당연하게도 inlier memorization 현상이 최대가 되었을 때까지 모델을 update 해야 합니다.

      Inlier memorization 현상이 최대화된다는 것은 결국 loss의 분포가 inlier쪽으로 추정되는 것과 outlier쪽으로 추정되는 것 2개의 덩어리로 구성되어 있을 것이고

      2개의 덩어리가 멀리 떨어지는 순간이 inlier memorization 현상이 최대화가 되는 순간일 것이라고 추정을 할 수 있습니다.

      그래서 모델을 n번 update할 때마다 train sample에 대해서 train loss를 구하고 loss값에 2-Gaussian Mixture distribution을 걸어 loss를 2개의 덩어리로 나눕니다.

      2개의 Distribution 사이의 거리는 Wasserstein distance로 구하고, patience를 두고 최대의 Wasserstein distance가 update되지가 않으면 모델을 더이상 fitting하지 않고 stop합니다.

      이렇게 stop된 모델을 이제 그대로 Outlier detection을 활용하는데 사용을 할 수도 있지만

      stability를 위해 이러한 모델을 여러개 만들어서 ensemble하여 Outlier Detection에 활용을 하는 것이 본 논문의 자세한 알고리즘에 대한 내용입니다.

      이론적으로도 몇가지 contribution이 있는데 Inlier Memorization 현상이 왜 일어나는지에 대한 부분과

      데이터 preprocessing을 할 때 Standard Scaling보다는 Minmax Scaling이 더 좋다는 부분을 이론적으로 밝혀냈습니다.

      실험적으로는 tabular데이터, 이미지데이터뿐만 아니라 text데이터에서도 기존의 UOD 알고리즘보다 좋음을 보여줬습니다.

      자세한 포스터 내용은 아래 그림에 첨부드리니 한번 참고해보시길 바랍니다.

      image.png

      ICML 2024 LLM 관련 동향

      개요

      Machine learning분야에서 LLM이 현재 차지하는 비중이 점점 높아지면서 ICML에서도 LLM에 대한 주제로 정말 많은 포스터, oral, workshop이 진행되었습니다.

      워낙 많은 내용을 파악해야되나보니 깊이가 상당히 얕지만 이해한 수준에서 최대한 많은 내용을 몇가지 분류에 맞춰 정리를 해보도록 하겠습니다.

      한번 읽어보시고 좀 더 자세히 알고 싶으신 것이 있으시면 직접 논문을 찾아보실 것을 권장드립니다.


      Alignment

      Alignment라는 주제로는 새로운 alignment 알고리즘에 대해 제안하는 것 뿐만 아니라

      미래의 alignment에 대한 부분에 대해서도 얘기도 하고 alignment에 대한 이론적인 해석과 같이 다양하게 얘기들을 하고 있어서 상당히 흥미로웠습니다.

      Is DPO Superior to PPO for LLM Alignment?

      보통 DPO가 PPO와 달리 reward model도 필요하지 않아서 간단하게 모델을 alignment시킬 수 있고 일반적으로 더 좋은 성능을 낸다고 해서 선호가 되고 있습니다.

      본 논문에서는 DPO가 fundamental한 한계가 있고, (이러한 부분은 이미 알려져 있음.) 이러한 것들을 어느정도 해결하는 전략적인 방법들에 대해서 제시합니다.

      또한 PPO를 할 때도 그냥 PPO를 하는 것보다 논문에서 제시하는 전략적인 방법들을(large batch size, advantage normalization, update reference model with exponential moving average) 활용하면

      훨씬 더 좋아지고 심지어 DPO보다 더 좋아지는 것을 보였습니다.

      image.png

      해당 talk들으면서 여기서 제시하는 PPO를 더 좋게 하는 전략적인 방법을 적용한 것과 DPO의 문제를 해결한 IPO와의 비교했을 때 어떻게 되는지 궁금하였고,

      이러한 부분은 비교실험이 필요해보면 좋을 거 같다는 생각이 들었습니다.

      Generalized Preference Optimization: A Unified Approach to Offline Alignment

      Alignment 시키는 알고리즘 중에서 특히 Offline Alignment 알고리즘에 대해 일반화 시킨 논문입니다.

      Alignment 알고리즘을 일반화 시킨 논문은 사실 그전에 IPO라는 paper에서 얘기가 나온 부분이긴 하지만

      IPO는 RLHF의 objective관점에서 일반화 시킴으로써 DPO는 RLHF의 목적함수의 어떤 꼴이고 일반화 시킨 꼴이 PsiPO임을 보였습니다.

      그러나 본 논문에서는 조금 더 specific한 setting에서 일반화 시켰습니다.

      RLHF objective function에서 DPO objective function으로 유도가 될 때 Bradely-Terry Assumption을 하여 reward free objective function을 유도했는데

      BT Assumption아래에서 일반화된 objective function을 얘기를 하고 있습니다.

      image.png

      그래서 위 그림처럼 SLiC은 Hinge Loss로 해석할 수 있고, DPO는 logistic loss 그리고 IPO는 Squared Loss로 해석할 수 있음을 보였습니다.

      MaxMin-RLHF: Alignment with Diverse Human Preferences

      RLHF를 할 때 가장 큰 문제가 되는 것 중 하나가 reward model을 제대로 학습하지 못하기 때문에 RLHF를 해도 DPO에 비해 성능이 좋지 못하게 나오는데 그러한 부분을 조금 개선시킨 논문입니다.

      image.png

      다양한 preference가 존재하는 경우에 위의 그림처럼 다양성을 뭉개버리는 경향이 있는데

      이러한 부분을 개선시키기 위해 reward model를 mixture distribution로 두고 reward model을 EM알고리즘으로 학습을 합니다.

      Debating with More Persuasive LLMs Leads to More Truthful Answers

      모델을 alignment시키는데 있어서 두개의 llm을 논쟁을 시킴으로써 더 정확한 정답을 찾아내는 과정에 대해 제시한 논문입니다.

      Oral과 포스터를 봤을 때 LLM자체의 model weight를 update시키는 과정이 없는 것 같지만 정확한 내용을 파악을 위해 논문을 자세히 읽어봐야 할 듯 하고,

      image.png

      흥미로운 점은 동일한 LLM 2개에 대해서 논쟁을 시키는 protocol이 성능향상에 도움이 된다는 점입니다.

      이러한 protocol은 사실 여러번 llm을 호출해야 되다보니 특정 응답에 대해서 상당히 많은 시간이 소요된다는 점이 큰 단점이 있어

      실제로 서비스에는 활용하지는 못할 듯 하지만 정확한 데이터를 생성이 필요한 과정에서 충분히 활용가능 할 것이고

      추후 자세히 읽어 debate protocol을 정확히 어떤 식으로 만들었는지를 파악해볼 필요가 있다고 판단됩니다.

      Weak-to-Strong Generalization

      보통 RLHF로 모델을 alignment시킬 때 데이터를 사람이 굉장히 high quality로 구성을 해야됩니다.

      아직까지도 사람이 이러한 데이터를 구성하는데 있어서는 크게 문제는 되지 않지만 나중에 LLM이 더 발전을 하면 사실 RLHF를 위한 데이터를 구성하는 것 자체가 힘들어질 뿐만 아니라

      데이터를 구성한다고 하더라도 alignment시킬 LLM보다 weak한 supervision이 만든 데이터일 것입니다.

      image.png

      본 논문은 그러한 상황과 유사하게 align시킬 모델을 chat-GPT4로 하고 weak supervision을 finetunning한 gpt2로 하여 이렇게 weak한 supervision이 strong llm을 improve시킬 수 있다는 가능성을 보입니다.


      Efficient

      Efficient에서는 효과적으로 학습하는 방법과 효율적으로 deploy해서 inference하는 부분에 대해서 다루고 있습니다.

      Low Rank learning도 일종에 Efficient의 효과적인 학습방법으로 분류를 할 수 있겠지만 관련해서는 많은 논문들이 이번에 쏟아져 따로 묶어서 얘기해보도록 하겠습니다.

      APT

      본 논문은 Adaptive Pruning and Tuning pretrained LM for efficient training and inference로 말 그대로 전체 llm의 parameter를 adaptive하게 pruning하고 tunning하는 알고리즘에 대해 소개를 하고 있습니다.

      특정 task에 대해서 finetunning한다고 했을 때 먼저 salience score라는 것을 도입하여

      prun할 parameter와 tunning할 parameter를 판단함으로써 빠르게 학습이 되면서 task performance도 좋으며 pruning을 하였다보니 memory도 efficient하다고 소개를 하고 있습니다.

      Interpreting and Improving LLM in Arithmetic Calculation

      LLM은 통상적으로 다른 task에 비해 산수를 잘 못하는 것으로 알려져 있습니다. 본 논문은 산수능력을 효과적으로 향상시키기 위해 LLM에서 산수에 중요하게 관여하는 weight부분을 찾아내었습니다.

      image.png

      뿐만 아니라 해당 weight에 대해서만 finetunning을 하더라도 전체 full finetunning보다 대체로 잘함을 실험을 통해 보임으로써 산수능력을 굉장히 효율적으로 finetunning하여 향상시켰음을 보였습니다.

      다른 언어의 능력을 향상 시키기 위해 전체 finetunning을 하지 않고 밀접하게 관련되있는 부분만 따로 학습시키는 paper를 본적이 있는데

      이 논문도 산수라는 다른 영역에서도 적용가능한 방법이라는 부분이 굉장히 흥미로웠습니다.

      ExCP

      해당 paper는 점점 opensource LLM도 굉장히 커지고 그런 LLM을 full finetunning한다고 했을 때 여러가지 이유로 model의 checkpoint들을 저장을 하게 됩니다.

      그렇게 checkpoint를 저장을 하면 저장하는 disk자체도 어마어마하게 많이 필요로 하게 되는데 본 논문에서는 checkpoint를 효율적으로 저장하는 방법에 대해서 제안을 합니다.

      앞에 저장한 checkpoint와 비교를 해서 residual만 저장을 하여 기존대비 몇 백배 저장공간을 줄여 엄청난 효율성을 보여줍니다.


      Low Rank Learning

      Compressible Dynamics in Deep Overparameterized Low Rank Learning & Adaptation

      보통 자기에 입맛에 맞는 형태로 출력을 위해 finetunning을 한다고 하면 많이 사용하는 방법이 전체 parameter를 update시키기 보다는 LoRA adapter를 달아서 해당 adapter를 train시킵니다.

      본 논문은 Low rank matrix를 Deep하게 만들어서 approximate할 parameter를 최대한 잘 approximate시킴으로써 기존 LoRA에 비해 더 generalization이 됨을 보였습니다.

      여기서는 일단 기존에 나와있는 opensource LLM에 대해서는 검증을 해보지는 않은 거 같은데 논문을 읽어보면서 파악을 해봐야 할 것 같고

      만약 하지 않았지만 공개한 코드를 바탕으로 검증이 가능한 수준이라면 일반 LoRA대비 비교실험을 진행해볼 필요가 있습니다.

      Accurate LoRA Finetunning Quantization of LLMs via Information Retention

      LoRA로 finetunning을 할때 quantization까지 한 QLoRA를 많이 사용합니다. 그러나 quantization을 함으로써 finetunning의 성능이 떨어지는 경우도 있습니다.

      image.png

      해당 논문에서는 quantization할 때 최대한 정보손실이 일어나지 않게 quantization을 하고 LoRA에도 그러한 부분을 적용할 수 있는 방법을 제안합니다.

      그리고 Llama-1 (7b,13b, 30b, 65b)대상으로 몇가지 benchmark데이터에 대해서 검증을 했을때 성능이 제일 좋음을 보였습니다.

      DoRA

      LoRA finetunning은 Full Finetunning대비해서 accuracy가 떨어집니다.

      image.png

      해당 논문에서는 LoRA를 개선한 논문으로 weighted LoRA와 같은 형태입니다.

      그렇게 하면 learning pattern이 Full finetunning과 비슷한 pattern을 보인다고 하는데 정확하게 이해를 하지는 못했고

      그러다 보니 성능적인 부분이 그냥 LoRA finetuning 심지어 Full finetunning보다 좋은 성능을 보였습니다.

      LoRA를 많이 쓰는 입장에서 상당히 흥미로운 논문이였고, 좀더 자세히 읽어봐서 방법론과 공개된 코드를 바탕으로 쉽게 적용가능한지 확인이 반드시 필요해 보입니다.

      GaLore

      해당 논문도 앞선 paper처럼 LoRA를 사용할 때의 단점을 보안하고자 나온 논문입니다.

      앞선 paper인 DoRA는 LoRA자체를 보안한 논문이라 finetunning에만 활용할 수 있을꺼 같은데 GaLore는 pretrain에서도 활용이 충분히 가능한 방법론입니다.

      LoRA는 기존 model parameter의 Low Rank Adapter를 달아서 adapter를 학습하는 방법인 반면에 GaLore는 기존 model parameter를 update를 할 때 gradient를 더함으로써 update를 하는데

      이때 gradient의 low rank projection으로만 update시키는 방법입니다. 그래서 memory efficient하고 성능도 pretraining시에 Full parameter tunning과 비슷한 수준의 성능을 보여줍니다.

      뿐만 아니라 finetunning에서도 LoRA하는 것보다 더 좋은 성능을 보여줍니다.


      In Context Learning

      In context learning은 일종의 prompt engineering으로 Few shot처럼 prompt에 example같은 것들을 입력을 했을 때 기대하는 output을 잘 이끌어 낼 수 있도록 하는 것입니다.

      아래에 정리한 paper외에도 in context learning관련된 내용이 있었지만 일단 학회에서 파악한 내용으로는 in context learning의 이론적인 분석과 실험적인 내용에 대해 파악을 하였습니다.

      Do pretrained Transformers Learn In Context by Gradient Descent?

      In context learning에 대한 이론적인 해석하기 위해 많은 연구들이 있습니다.

      과거 in context learning에 대한 이론적인 부분을 얘기하는 논문들이

      “Why Can GPT Learn In-Context?”, “What Learning algorithm is in context learning?” 그리고“Transformers learn in-context by gradient descent”로 발전해 나가면서

      in context learning이 결국 Gradient Descent와 동치임을 얘기를 하는데 해당 논문에서도 비슷한 얘기를 하고 있습니다.

      Many Shot In Context Learning

      이 부분은 workshop에서 발표를 진행한 내용으로 ICML workshop에 채택된 paper이지만 한번씩 prompt engineering 관련 업무가 있어서 흥미롭게 들었던 내용 중에 하나입니다.

      업무를 하면서도 prompt에 예시를 많이 입력하면 많이 입력할수록 좋은 output을 낸다는 것은 경험적으로도 알고 있는 사실인데

      해당 paper에서는 그러한 shot을 굉장히 많이 넣었을 때 성능분석관련 paper입니다.

      마무리

      제가 정리한 주제들 말고도 LLM에 대한 이론적인 분석에 대한 부분도 있었지만 이건 짧은 시간에 파악하기는 힘들어 따로 언급하지 않았고

      이외에도 GPU kernel을 건드리면서 LLM inference 최적화 시키는 paper도 있었지만 해당 분야는제가 짧은 지식을 가지고 있어서 파악하기는 힘들었습니다.

      그래도 제가 정리한 내용들이 많은 분들께 조금이라도 도움이 되시길 바라며..

      다음번에는 Long Context LLM 2부로 다시 돌아오겠습니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      jshwang0311 님의 최신 블로그

      더보기
      동영상 기고하기