모든 언어에서 AI가 생성한 코드를 더욱 정확하게 만들기

프로그래머는 이제 대규모 언어 모델(LLM)을 사용하여 컴퓨터 코드를 더 빠르게 생성할 수 있습니다. 하지만 이는 해당 코드가 프로그래밍 언어의 규칙을 따르고 컴퓨터 충돌을 일으키지 않을 때에만 프로그래머의 작업을 더 쉽게 만들어줍니다.

LLM이 텍스트를 생성하는 언어의 규칙을 준수하도록 보장하는 몇 가지 방법이 있지만, 이러한 방법 중 다수는 모델의 의도된 의미를 왜곡하거나 복잡한 작업에는 너무 많은 시간이 소요됩니다.

MIT를 비롯한 여러 연구진이 개발한 새로운 접근법은 LLM이 특정 프로그래밍 언어와 같은 관련 언어의 규칙을 준수하면서도 오류가 없는 텍스트를 자동으로 생성하도록 지원합니다. 이 방법을 통해 LLM은 타당성과 정확성이 가장 높은 출력에 노력을 집중하는 동시에, 기대에 미치지 못하는 출력은 프로세스 초기에 폐기할 수 있습니다. 이러한 확률론적 접근법은 계산 효율성을 향상시킵니다.

이러한 효율성 향상 덕분에 연구진의 아키텍처는 소규모 LLM이 분자 생물학 및 로봇 공학을 포함한 여러 실제 사용 사례에서 정확하고 적절하게 구성된 출력을 생성하는 데 있어 훨씬 더 큰 모델보다 우수한 성능을 발휘할 수 있게 되었습니다.

장기적으로 이 새로운 아키텍처는 비전문가도 AI가 생성한 콘텐츠를 제어하는 ​​데 도움이 될 수 있습니다. 예를 들어, 기업가들은 자연어 프롬프트만 사용하여 데이터베이스 조작 언어인 SQL로 복잡한 쿼리를 작성할 수 있습니다.

MIT 대학원생이자 이 프레임워크 관련 논문의 공동 주저자인 주앙 룰라는 "이 연구는 연구 이상의 의미를 지닙니다. AI가 생성한 결과물이 유용하고 정확한지 확인함으로써 프로그래밍 지원, AI 기반 데이터 분석, 과학적 발견 도구를 개선할 수 있습니다."라고 말했습니다.

Loula와 함께 이 논문에 공동 주저자로 참여한 사람은 Mila-Quebec 인공지능 연구소의 연구 조교인 Benjamin LeBrun과 John Hopkins University의 대학원생인 Li Du입니다.

공동 선임 저자로는 MIT 뇌 및 인지 과학과의 확률적 컴퓨팅 프로젝트 책임자이자 수석 연구 과학자인 Vikash Mansinghka '05, MEng '09, PhD '09, Yale University의 조교수인 Alexander K. Lew SM '20, ETH Zurich의 박사후 연구원인 Tim Vieira, 그리고 국제 팀을 이끈 McGill University의 부교수이자 Mila의 Canada CIFAR AI Chair인 Timothy J. O'Donnell이 있습니다. 이 연구는 International Conference on Learning Representations에서 발표될 예정입니다.

구조와 의미 강화

LLM에서 생성된 구조화된 텍스트를 제어하는 ​​일반적인 방법 중 하나는 컴퓨터 코드 블록과 같은 전체 출력을 검사하여 유효성과 오류 없는 실행 여부를 확인하는 것입니다. 그렇지 않으면 사용자는 처음부터 다시 시작해야 하므로 컴퓨팅 리소스가 소모됩니다.

반면에 프로그래머는 작업 도중 출력을 확인하기 위해 잠시 멈출 수 있습니다. 이렇게 하면 코드가 프로그래밍 언어를 준수하고 구조적으로 유효한지 확인할 수 있지만, 코드를 점진적으로 수정하면 사용자가 의도한 의미에서 벗어나 장기적으로 정확성이 저하될 수 있습니다.

"의미보다 구조를 강화하는 것이 훨씬 쉽습니다. 어떤 것이 올바른 프로그래밍 언어로 작성되었는지는 빠르게 확인할 수 있지만, 의미를 확인하려면 코드를 실행해야 합니다. 저희의 작업 또한 이러한 다양한 유형의 정보를 처리하는 것입니다."라고 룰라는 말합니다.

연구진의 접근 방식은 LLM에 엔지니어링 지식을 적용하여 가장 유망한 결과물을 도출하는 것을 포함합니다. 이러한 결과물은 사용자가 정의한 구조적 제약 조건을 따르고 사용자가 의도한 의미를 가질 가능성이 더 높습니다.

"우리는 LLM을 이런 식으로 훈련시키려는 것이 아닙니다. 대신, 전문가가 가지고 있는 지식을 엔지니어링하여 LLM의 지식과 결합하는 것입니다. 이를 통해 딥러닝에서 볼 수 있는 확장성과는 매우 다른 접근 방식을 제공합니다."라고 만싱카는 덧붙였습니다.

이들은 순차적 몬테카를로(Sequential Monte Carlo)라는 기법을 사용하여 이를 달성하는데, 이는 LLM에서 생성된 병렬 연산들이 서로 경쟁하도록 합니다. 이 모델은 출력 결과가 얼마나 유망해 보이는지에 따라 여러 병렬 계산 스레드에 동적으로 리소스를 할당합니다.

각 출력에는 구조적으로 유효하고 의미적으로 정확할 가능성을 나타내는 가중치가 부여됩니다. 계산의 각 단계에서 모델은 가중치가 더 높은 출력에 집중하고 나머지는 제거합니다.

어떤 의미에서 LLM은 전문가가 어깨 너머로 감시하며 각 단계에서 올바른 선택을 하도록 보장하는 동시에 전반적인 목표에 집중하도록 하는 것과 같습니다. 사용자가 원하는 구조와 의미, 그리고 출력 확인 방법을 지정하면, 연구자의 아키텍처가 LLM이 나머지 작업을 수행하도록 안내합니다.

"어떤 종류의 제약 조건을 적용하든 적절한 가중치를 얻을 수 있도록 어려운 계산을 해냈습니다. 결국 정답을 얻게 되는 거죠."라고 룰라는 말합니다.

작은 모델 강화

그들은 접근 방식을 테스트하기 위해 Python 코드, SQL 데이터베이스 쿼리, 분자 구조, 로봇이 따라야 할 계획 등 4가지 유형의 출력을 생성하는 작업을 맡은 LLM에 프레임워크를 적용했습니다.

기존 접근 방식과 비교했을 때, 연구자들의 방법은 더 적은 계산을 필요로 하면서도 더 정확한 결과를 보였습니다.

예를 들어 Python 코드 생성에서 연구진의 아키텍처는 규모가 두 배 이상인 특수화된 상용 폐쇄 소스 모델보다 작은 오픈 소스 모델이 더 나은 성능을 발휘하도록 했습니다.

"우리는 이 작은 모델이 본래의 무게보다 훨씬 더 큰 성능을 발휘할 수 있게 되어 매우 기쁩니다."라고 룰라는 말했습니다.

앞으로 연구진은 이 기술을 사용하여 한 번에 작은 텍스트 조각 하나씩 처리하는 대신, 생성된 텍스트의 더 큰 덩어리를 제어하고자 합니다. 또한, 이 방법을 학습과 결합하여 모델이 생성하는 출력을 제어하면서 더욱 정확한 결과를 얻을 수 있도록 학습하고자 합니다.

장기적으로 이 프로젝트는 비전문가에게도 더 폭넓게 적용될 수 있습니다. 예를 들어, 자동화된 데이터 모델링 및 데이터베이스 생성 모델 쿼리 시스템과 결합될 수 있습니다.

맨싱카는 이러한 접근 방식을 통해 기계 지원 데이터 분석 시스템도 구축할 수 있으며, 사용자는 소프트웨어와 대화하여 데이터의 의미와 사용자가 묻는 질문을 정확하게 모델링할 수 있다고 덧붙였습니다.

"언어학의 근본적인 질문 중 하나는 단어, 구, 문장의 의미가 어떻게 세계 모델에 근거하여 의미와 지시의 불확실성과 모호성을 설명할 수 있는가 하는 것입니다. 가능성 있는 토큰 시퀀스를 예측하는 LLM은 이 문제를 다루지 않습니다.

저희 논문은 좁은 상징 영역에서 단어에서 근거 의미 분포로의 매핑이 기술적으로 가능함을 보여줍니다. 이는 기계가 우리처럼 세상에 대해 어떻게 소통할 수 있는지 이해하는 데 필요한 인지과학, 언어학, 인공지능 분야의 심층적인 질문으로 나아가는 작은 발걸음입니다."라고 오도넬은 말합니다.

이 연구는 부분적으로 캐나다 CIFAR AI 의장 프로그램과 MIT Siegel Family Quest for Intelligence에 기부된 Siegel Family Foundation의 자금 지원을 받았습니다.


출처: https://www.sciencedaily.com/releases/2025/04/250424121658.htm

댓글 없음

아름다운 덧글로 인터넷문화를 선도해 주세요