核心概念
부분 토큰으로 인한 생성 모델의 성능 저하 문제를 해결하기 위해 마지막 완전한 토큰으로 돌아가 토큰 생성을 정렬하는 방법을 제안한다.
摘要
이 논문은 생성 모델이 부분 토큰을 처리할 때 겪는 어려움을 해결하기 위한 방법을 제안한다.
부분 토큰 문제는 토큰화 과정에서 발생하는데, 모델이 입력 프롬프트의 마지막 부분 토큰을 처리할 때 잘못된 출력을 생성하는 경우가 많다.
이를 해결하기 위해 제안된 토큰 정렬 방법은 다음과 같다:
- 프롬프트의 마지막 완전한 토큰까지 돌아간다.
- 이 토큰부터 시작하여 프롬프트 접두사와 일치하는 토큰만 생성하도록 한다.
- 이를 통해 부분 토큰으로 인한 제약을 해결하고 모델의 성능을 향상시킬 수 있다.
논문에서는 다양한 부분 토큰 시나리오(자연어 부분 단어, 구두점, 공백 접두사, 연속 공백 등)에 대해 실험을 진행했다. 토큰 정렬 방법은 이러한 모든 경우에서 성능 향상을 보였다. 또한 추가 지연 시간도 크지 않아 실용적인 것으로 나타났다.
이 연구 결과는 생성 모델의 강건성 향상에 기여할 것으로 보이며, 특히 코드 완성이나 텍스트 자동 완성 등의 응용 분야에서 유용할 것으로 기대된다.
統計資料
토큰 정렬을 사용하면 부분 단어 MBXP 벤치마크에서 Python, Java, JavaScript의 pass@1 점수가 각각 56.58%, 52.17%, 49.31%로 향상되었다.
부분 단어 SQuAD 데이터셋에서 토큰 정렬을 사용하면 정확도(EM)가 40.27%로 향상되었다.
부분 단어 Wikitext 데이터셋에서 토큰 정렬을 사용하면 첫 단어 정확도가 19.42%로 향상되었다.
引述
"부분 토큰으로 인해 생성 모델이 잘못된 또는 무의미한 출력을 생성하는 문제가 발생한다."
"토큰 정렬 방법은 마지막 완전한 토큰으로 돌아가 프롬프트 접두사와 일치하도록 생성을 제한한다."
"토큰 정렬 방법은 다양한 부분 토큰 시나리오에서 뚜렷한 성능 향상을 보였으며, 추가 지연 시간도 크지 않다."