본문으로 건너뛰기

Program-as-Weights: 퍼지 함수를 위해 명세를 가중치로 컴파일하는 프로그래밍 패러다임

일반적인 규칙 기반 코드로는 구현하기 어려운 퍼지한 함수들을 매 입력마다 대형 모델 API를 호출하지 않고 로컬에서 효율적으로 실행할 수 있게 해준다는 점에서 중요하다. 이 접근은 반복적 API 비용과 재현성 문제를 줄이며, 컴파일 시점에 무거운 계산을 한 번 수행하고 이후 호출을 저비용 로컬 실행으로 대체한다는 아키텍처적 전환을 제시한다. 결과적으로 소형 인터프리터와 PEFT 어댑터 조합으로 실무적 퍼지 작업을 오프라인·버전 관리 가능한 아티팩트로 배포할 수 있다.

용어 해설

웨이트로서의 프로그램(Program-as-Weights)
자연어 명세로부터 컴파일되어 파라미터 형태의 이진 아티팩트로 생성되는 프로그램 패러다임이다. 컴파일러가 텍스트 명세를 읽어 PEFT 모듈과 의사-프로그램을 생성하고, 고정된 인터프리터가 해당 파라미터를 로드해 입력을 처리한다. 반복적 API 호출 대신 한 번의 컴파일로 재사용 가능한 로컬 실행 단위를 제공하는 점이 핵심이다.
파라미터-효율적 어댑터(PEFT)
기본 모델의 전체 가중치를 갱신하지 않고 소규모 추가 파라미터로 동작을 수정하는 기법의 총칭이다. 대표적으로 prefix-tuning과 LoRA가 있으며, PAW에서는 이들 중 LoRA를 PEFT 프로그램 형태로 생성해 인터프리터에 주입한다. PEFT는 로컬 배포와 모델 용량 절감에 기여한다.
의사-프로그램(Pseudo-Program)
명세를 정제해 생성한 이산 토큰 시퀀스로, 인터프리터 입력 앞에 전처리 형태로 붙는 텍스트 구성 요소이다. 노이즈가 있는 명세를 4B급 pseudo compiler가 재진술하고 대표 입출력 예시를 포함해 인터프리터가 안정적으로 동작하도록 돕는다. 이 구성은 연속적 LoRA와 결합되어 미세 행동 제어를 가능하게 한다.
LoRA 매퍼(LoRA Mapper)
컴파일러의 숨은 상태를 받아 여러 공유 기반(basis)와 혼합 계수를 계산해 각 계층·모듈용 LoRA 행렬을 합성하는 모듈이다. 입력으로 받은 깊이 정렬된 prefix-position 히든스테이트를 평균 풀링하고 MLP로 투영해 α 계수를 얻어 A,B 행렬을 합성한다. 공유 기반 설계와 r=64, N=64 설정이 본 논문에서 채택되었다.
GGUF 양자화 포맷(GGUF)
llama.cpp 호환 형식으로 모델과 어댑터를 소형화해 디스크에 저장하는 양자화 포맷의 하나이다. 논문에서는 Q4_K_M, Q5_K_M, Q6_K 등 다양한 GGUF 구성으로 베이스와 LoRA를 양자화해 성능 손실을 평가했다. 모바일 및 데스크탑에서 로컬 실행 용량을 크게 줄이는 데 사용되었다.

코드 예제

python
import programasweights as paw
# (1) Describe the fuzzy function
spec = """Classify if this email requires immediate attention.""".strip()
# (2) Compile to a neural program
program = paw.compile(spec, slug="email-triage")

컴파일 단계의 간단한 Python 예시로, 명세를 컴파일러 서비스에 보내 프로그램 객체를 반환받는 흐름을 보여준다.

python
import programasweights as paw
# (3) Load the compiled program
fn = paw.function("email-triage")
# (4) Call it like a function
print(fn("Thesis defense moved to 3pm; need your signature today."))  # -> "immediate"

로컬 실행 단계의 예시로, 저장된 PAW 프로그램을 불러와 일반 함수처럼 호출해 결과를 얻는 사용 예이다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 02.수집 2026. 07. 04.출처 타입 PAPER

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.