✂️ 언어 모델 편집 기법들
언어 모델에서는 파인 튜닝 외에도 편집 기법들이 존재해요. 크게 특정 지식을 수정하거나 삽입하는 방식과 파라미터를 직접 변형시키는 방식으로 나눌 수 있습니다.
가장 먼저 MEND(Model Editor Networks with Gradient Decomposition)는 메타 학습 기반 모델 편집 기법 중 가장 많이 언급되는 방법입니다. 메타 학습이란 ‘학습하는 방법을 학습’하는 과정으로, 새로운 작업이나 환경에 빠르게 적응할 수 있도록 모델을 훈련하는 방법이에요. MEND는 메타 학습을 통해 특정 정보만 빠르게 조정하도록 훈련된 네트워크로, 다른 지식에 미치는 영향을 최소화하여 모델의 안정성을 높일 수 있다는 장점이 있어요.
그다음으로는 ROME(Rank-One Model Editing) 기법인데요. 모델의 특정 위치를 식별한 후, 임베딩 벡터의 랭크-원(Rank-One) 변환을 이용해 지식을 효율적으로 편집합니다. 랭크-원 변환에 대해 더 알고 싶으시다면 <Locating and Editing Factual Associations in GPT> 논문을 참고해 주세요.
검색 기반 모델 편집의 대표적인 방법으로는 SERAC(Search-Augmented Editing by Retrieval And Contextualization)가 있습니다. 이 방법은 특이하게도 외부 검색 시스템과 결합하여 모델 내부의 지식베이스를 실시간으로 확장하고 보완합니다. 마치 RAG를 모델 편집 기법으로 사용한 것처럼 느껴지기도 하죠? 그래서 RAG와 유사하게 업데이트된 지식을 반영할 수 있다는 장점을 가지고 있어요. 그러나 모델 내부의 특정 지식을 편집하고 파라미터를 업데이트하기 때문에, RAG와 분명히 다릅니다.
다음으로 GRACE(Gradient-based Augmented Knowledge Editing)에요. 이 방법은 새로운 파라미터를 추가하여 기존 모델의 지식을 덮어쓰는 방식입니다. 기존 정보는 그대로 두면서 필요한 정보만 추가할 수 있는, 확장성이 좋다는 점이 특징이에요. 특히 편집 후에도 이전 지식을 병행하여 사용할 수 있는데 이 과정에서 충돌이 적게 일어난다는 점이 장점입니다.
마지막으로 PMET(Prompt-based Model Editing Technique)는 프롬프트를 기반으로 편집이 필요한 정보를 모델 내에서 식별하고, 특정 지식을 수정하는 방법입니다. 예를 들어, 사용자가 "이 모델의 역사적 사실을 업데이트해 줘"라고 입력할 경우, 모델은 "역사적 사실"이 어떤 부분을 지칭하는지 이해하고 해당 부분을 프롬프트를 통해 수정하는 방법이에요. 프롬프트를 통해 누구나 쉽게 편집할 수 있다는 장점을 가지고 있습니다.
위와 같은 모델 편집 기법들을 통해 업데이트된 지식은 일회성이 아니라 지속적으로 해당 지식을 유지하고, 이를 반영한 응답을 내놓아요. 더 다양한 모델 편집 기법들이 궁금하다면, <Editing Large Language Models: Problems, Methods, and Opportunities>을 읽어 보시는것을 추천드릴게요. |