In this work, we introduce Self-Instruct, a semi-automated process for instruction-tuning a pretrained LM using instructional signals from the model itself. The overall process is an iterative bootstrapping algorithm (see Figure 2), which starts off with a limited (e.g., 175 in our study) seed set of manually-written tasks that are used to guide the overall generation. In the first phase, the model is prompted to generate instructions for new tasks. This step leverages the existing collection of instructions to create more broad-coverage instructions that define (often new) tasks. Given the newly-generated set of instructions, the framework also creates input-output instances for them, which can be later used for supervising the instruction tuning. Finally, various heuristics are used to automatically filter low-quality or repeated instructions, before adding the remaining valid tasks to the task pool. This process can be repeated for many iterations until reaching a large number of tasks.
이 작업에서는 사전 학습된 LM을 모델 자체의 instructional 신호를 사용하여 Instruction Tuning하는 반 자동화 프로세스인 Self-Instruct를 소개합니다. 전체 프로세스는 반복적인 부트스트랩 알고리즘(그림 2 참조)으로, 전체 생성을 안내하는 데 사용되는 제한된(예: 이 연구에서는 175개) 수작업으로 작성된 태스크의 시드 세트로 시작합니다. 첫 번째 단계에서는 모델에 새 작업에 대한 instructions를 생성하라는 프롬프트가 표시됩니다. 이 단계에서는 기존 instructions 컬렉션을 활용하여 (종종 새로운) 작업을 정의하는 보다 광범위한 instructions를 생성합니다. 새로 생성된 instructions 집합이 주어지면 프레임워크는 이에 대한 입력-출력 인스턴스도 생성하여 나중에 Instruction Tuning을 감독하는 데 사용할 수 있습니다. 마지막으로, 다양한 휴리스틱을 사용하여 품질이 낮거나 반복되는 instructions를 자동으로 필터링한 후 나머지 유효한 작업을 작업 풀에 추가합니다. 이 프로세스는 많은 작업 수에 도달할 때까지 여러 반복을 통해 반복할 수 있습니다.
이 작업에서는 사전 학습된 LM을 모델 자체의 교육 신호를 사용하여 교육 튜닝하는 반 자동화 프로세스인 Self-Instruct를 소개합니다. 전체 프로세스는 반복적인 부트스트랩 알고리즘(그림 2 참조)으로, 전체 생성을 안내하는 데 사용되는 제한된(예: 이 연구에서는 175개) 수작업으로 작성된 태스크의 시드 세트로 시작합니다. 첫 번째 단계에서는 모델에 새 작업에 대한 지침을 생성하라는 프롬프트가 표시됩니다. 이 단계에서는 기존 지침 컬렉션을 활용하여 (종종 새로운) 작업을 정의하는 보다 광범위한 지침을 생성합니다. 새로 생성된 지침 집합이 주어지면 프레임워크는 이에 대한 입력-출력 인스턴스도 생성하여 나중에 지침 튜닝을 감독하는 데 사용할 수 있습니다. 마지막으로, 다양한 휴리스틱을 사용하여 품질이 낮거나 반복되는 지침을 자동으로 필터링한 후 나머지 유효한 작업을 작업 풀에 추가합니다. 이 프로세스는 많은 작업 수에 도달할 때까지 여러 반복을 통해 반복할 수 있습니다.