TypeProbe: 사전 학습된 코드 모델의 은닉 상태에서 타입 표현 복구
요약
본 연구는 최첨단 코드 모델이 내부 은닉 상태에 타입 정보를 얼마나 인코딩하는지 탐구했습니다. Java와 Python 데이터셋을 사용하여, 모델의 잔여 스트림에서 교차 언어적 타입 표현을 성공적으로 탐지했습니다. 이는 코드 모델이 타입 추론 능력을 가지고 있음을 시사하며, 해석 가능성 연구에 기여합니다.
핵심 포인트
- 코드 모델의 은닉 상태에서 내부 타입 정보를 탐지함.
- 타입 지정되지 않은 코드에서도 교차 언어적 타입 표현 발견.
- 한 언어로 훈련하여 다른 언어의 타입을 추론할 수 있음을 입증.
- 이러한 구조가 어휘적/구문 변이에 부분적으로 강건함을 확인.
최첨단(State-of-the-art) 코드 모델들은 인상적인 성능을 달성하지만, 이들이 내부적으로 어느 정도까지 타입 정보를 인코딩하는지는 여전히 잘 이해되지 않은 문제입니다. 우리는 Java와 Python 코드 예제들의 병렬 데이터셋을 사용하여 사전 학습된 코드 모델의 잔여 스트림(residual streams)에서 내부 타입 표현을 탐지합니다. 우리의 결과는 타입이 지정되지 않은(untyped) 코드에서도 교차 언어적(cross-lingual) 타입 표현이 나타남을 보여줍니다. 나아가, 우리는 한 언어로 프로브를 훈련시켜 다른 언어의 인자 및 결과 타입을 추론함으로써, 은닉 상태가 타입이 지정된 함수 적용에 의해 암시되는 결과 타입을 선형적으로 인코딩하는지 테스트합니다. 마지막으로, 우리는 이러한 구조가 어휘적 교란(lexical perturbations)과 교차 언어 구문 변이(cross-language syntactic variations)에 부분적으로 강건하다는 것을 발견했습니다. 우리가 아는 한, 코드 모델의 해석 가능성(interpretability)에 대한 이전 연구들은 형식 타입 의미론(formal type semantics)이나 교차 언어적 타입 표현을 직접적으로 목표로 삼지 않았습니다. 우리의 코드와 데이터셋을 공개합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기