Toolformer 해석

WBOY
WBOY앞으로
2023-05-05 20:10:051611검색

LLM(대형 언어 모델)은 제한된 텍스트 데이터로 새로운 작업을 해결하는 데 놀라운 이점을 보여주었습니다. 그러나 그럼에도 불구하고 다음과 같은 다른 면에서 한계가 있습니다.

  • 최신 정보에 대한 접근 부족
  • 사실에 대한 환상을 갖는 경향
  • 저자원 언어의 어려움 ​​
  • 수학적 지식 부족 정확한 계산을 위한 기술
  • 시간 진행에 따른 부정확성 이해

더 많은 문제를 해결하기 위해 대형 모델을 사용하는 방법은 무엇입니까? "TaskMatrix.AI 해석" 기사에서 TaskMatrix.AI는 Toolformer와 chatGPT의 조합으로 기본 모델을 수백만 개의 API와 연결하여 작업을 완료합니다. 그렇다면 툴포머(Toolformer)란 무엇일까요?

Toolformer는 계산기, 위키피디아 검색, 사전 조회 등 API 사용이 필요한 문제를 해결할 수 있는 Meta의 새로운 오픈 소스 모델입니다. Toolformer는 도구를 사용해야 한다는 것을 인식하고 어떤 도구를 사용할지, 도구를 어떻게 사용할지 결정합니다. Toolformers의 사용 사례는 모든 질문에 대한 즉각적인 검색 결과를 제공하는 것부터 시내 최고의 레스토랑과 같은 상황별 정보를 제공하는 것까지 끝이 없습니다.

1. 툴포머란?

툴포머란? 간단히 말해서 Toolformer는 도구 사용 방법을 스스로 학습할 수 있는 언어 모델입니다.

Toolformer는 자기 지도 학습 방법을 사용하여 훈련된 67억 개의 매개변수로 사전 훈련된 GPT-J 모델을 기반으로 합니다. 이 접근 방식에는 기존 텍스트 데이터 세트를 보강하기 위한 API 호출 샘플링 및 필터링이 포함됩니다.

Toolformer는 다음 두 가지 요구 사항을 통해 도구 사용 방법을 자가 교육하는 LLM 작업을 완료하기를 희망합니다.

  • 도구 사용은 많은 수동 주석을 필요로 하지 않고 자가 지도 방식으로 학습해야 합니다.
  • LM은 일반성을 잃지 않아야 하며 어떤 도구를 언제, 어떻게 사용할지 스스로 결정할 수 있어야 합니다.

다음 그림은 Toolformer의 예측(예: 데이터 샘플에 포함된 API 호출)을 보여줍니다.

Toolformer 해석

2 Toolformer의 아키텍처 및 구현

ChatGPT의 핵심 기능은 상황 기반 학습(In-Context Learning)입니다. )은 모델이 특정 상황이나 환경에서 제시된 사례로부터 학습하는 기계 학습 방법을 말합니다. 상황별 학습의 목표는 주어진 상황이나 상황에 적합한 언어를 이해하고 생성하는 모델의 능력을 향상시키는 것입니다. 자연어 처리(NLP) 작업에서 언어 모델을 훈련하여 특정 프롬프트나 질문에 대한 응답을 생성할 수 있습니다. 그렇다면 Toolformer는 상황 내 학습을 어떻게 활용합니까?

Toolformer는 API 호출을 통해 다양한 도구를 사용할 수 있는 대규모 언어 모델입니다. 각 API 호출의 입력 및 출력은 세션 내에서 자연스럽게 흐르도록 텍스트/대화의 시퀀스로 형식화되어야 합니다.

Toolformer 해석

위 그림에서 볼 수 있듯이 Toolformer는 먼저 모델의 상황별 학습 기능을 활용하여 수많은 잠재적 API 호출을 샘플링합니다.

이러한 API 호출을 실행하고 얻은 응답이 향후 토큰을 예측하는 데 도움이 되고 필터로 사용될 수 있는지 확인하세요. 필터링 후에는 다양한 도구에 대한 API 호출이 원시 데이터 샘플에 포함되어 모델이 미세 조정되는 향상된 데이터 세트가 생성됩니다.

구체적으로 위의 이미지는 질문 및 답변 도구를 사용하여 이 작업을 수행하는 모델을 보여줍니다.

  1. The LM 데이터세트에는 샘플 텍스트가 포함되어 있습니다. "Pittsburgh is alsoknown as The Steel City"라는 메시지를 입력합니다. 처럼".
  2. 정답을 찾기 위해서는 모델이 API 호출을 하여 정확하게 만들어야 합니다.
  3. 일부 API 호출 샘플링, 특히 "피츠버그는 어떤 다른 이름으로 알려져 있나요?" 및 "피츠버그는 어느 나라에 있나요?"
  4. 해당 답변은 "Steel City"와 "United States"입니다. 첫 번째 답변이 더 좋기 때문에 API 호출을 통해 새로운 LM 데이터세트에 포함됩니다. "피츠버그는 [QA("피츠버그로 알려진 다른 이름은 무엇입니까?") -> Steel City] the Steel City라고도 알려져 있습니다.” .
  5. 여기에는 예상되는 API 호출 및 응답이 포함되어 있습니다. 다양한 도구(예: API 호출)를 사용하여 새 LM 데이터 세트를 생성하려면 이 단계를 반복합니다.

그래서 LM은 텍스트에 포함된 API 호출을 사용하여 대량의 데이터에 주석을 추가한 다음 이러한 API 호출을 사용하여 LM을 미세 조정하여 유용한 API 호출을 만듭니다. 이것이 자기 감독 훈련의 작동 방식이며, 이 접근 방식의 이점은 다음과 같습니다.

  • 수동 주석이 덜 필요합니다.
  • API 호출을 텍스트에 포함하면 LM은 여러 외부 도구를 사용하여 더 많은 콘텐츠를 추가할 수 있습니다.

Toolformer는 각 작업에 어떤 도구가 사용될지 예측하는 방법을 학습합니다.

2.1 API 호출 샘플링

다음 그림은 Toolformer가 및를 사용하여 사용자 입력에 따른 API 호출의 시작과 끝을 나타내는 것을 보여줍니다. 각 API에 대한 프롬프트를 작성하면 Toolformer가 관련 API 호출로 예제에 주석을 추가하도록 권장됩니다.

Toolformer 해석

Toolformer는 주어진 시퀀스의 가능한 연속으로 각 토큰에 확률을 할당합니다. 이 메서드는 시퀀스의 각 위치에서 API 호출을 시작하기 위해 ToolFormer가 할당한 확률을 계산하여 API 호출에 대한 최대 k개의 후보 위치를 샘플링합니다. 주어진 임계값보다 더 큰 확률을 가진 위치는 유지됩니다. 각 위치에 대해 API 호출이 앞에 붙고 시퀀스 끝 마커가 접미사로 붙은 시퀀스를 사용하여 Toolformer에서 샘플링하여 최대 m개의 API 호출을 얻습니다.

2.2 API 호출 실행

API 호출 실행은 전적으로 호출을 실행하는 클라이언트에 따라 달라집니다. 클라이언트는 다른 신경망에서 Python 스크립트, 대규모 자료를 검색하는 검색 시스템에 이르기까지 다양한 유형의 애플리케이션일 수 있습니다. 클라이언트가 호출할 때 API는 단일 텍스트 시퀀스 응답을 반환한다는 점에 유의하는 것이 중요합니다. 이 응답에는 호출의 성공 또는 실패 상태, 실행 시간 등을 포함하여 호출에 대한 자세한 정보가 포함됩니다.

따라서 정확한 결과를 얻으려면 클라이언트는 올바른 입력 매개변수가 제공되었는지 확인해야 합니다. 입력 매개변수가 올바르지 않으면 API가 잘못된 결과를 반환할 수 있으며, 이는 사용자가 받아들일 수 없는 결과일 수 있습니다. 또한 클라이언트는 호출 중 연결 중단이나 기타 네트워크 문제를 방지하기 위해 API에 대한 연결이 안정적인지 확인해야 합니다.

2.3 API 호출 필터링

Toolformer는 필터링 과정에서 API 호출 후 토큰을 통해 Toolformer의 가중 교차 엔트로피 손실을 계산합니다.

그런 다음 두 가지 다른 손실 계산을 비교합니다.

(i) 하나는 결과를 Toolformer에 대한 입력으로 사용하는 API 호출입니다.

(ii) 하나는 API 호출이나 API 호출이 없지만 결과가 반환되지 않습니다.

API 호출에 제공된 입력 및 출력을 통해 Toolformer가 향후 토큰을 더 쉽게 예측할 수 있는 경우 API 호출이 유용한 것으로 간주됩니다. 두 손실 간의 차이가 임계값보다 크거나 같은 API 호출만 유지하려면 필터링 임계값을 적용합니다.

2.4 모델 미세 조정

마지막으로 Toolformer는 나머지 API 호출을 원래 입력과 병합하고 새 API 호출을 생성하여 데이터 세트를 늘립니다. 즉, 증강된 데이터세트에는 API 호출만 삽입된 원본 데이터세트와 동일한 텍스트가 포함됩니다.

그런 다음 새 데이터 세트를 사용하여 표준 언어 모델링 목표를 사용하여 ToolFormer를 미세 조정하세요. 이렇게 하면 증강된 데이터 세트의 모델 미세 조정이 원본 데이터 세트의 미세 조정과 동일한 콘텐츠에 노출됩니다. 정확한 위치에 API 호출을 삽입하고 도움말 모델을 사용하여 향후 토큰에 대한 입력을 예측함으로써 증강 데이터를 미세 조정하면 언어 모델이 자체 피드백을 기반으로 API 호출을 사용하는 시기와 방법을 이해할 수 있습니다.

2.5 추론

추론 중에 언어 모델이 API 호출에 대한 다음 예상 응답을 나타내는 "→" 토큰을 생성하면 디코딩 프로세스가 중단됩니다. 그런 다음 적절한 API를 호출하여 응답을 얻고 응답과 토큰을 삽입한 후 디코딩을 계속합니다.

이 시점에서 얻은 응답이 이전 토큰에서 예상한 응답과 일치하는지 확인해야 합니다. 일치하지 않으면 올바른 응답을 얻기 위해 API 호출을 조정해야 합니다. 디코딩을 진행하기 전에 추론 프로세스의 다음 단계를 준비하기 위해 일부 데이터 처리도 수행해야 합니다. 이러한 데이터 프로세스에는 응답 분석, 맥락 이해, 추론 경로 선택이 포함됩니다. 따라서 추론 과정에서 응답을 얻기 위해 API를 호출해야 할 뿐만 아니라 추론 과정의 정확성과 일관성을 보장하기 위해 일련의 데이터 처리 및 분석을 수행해야 합니다.

2.6 API 도구

Toolformer에서 사용할 수 있는 모든 API 도구는 다음 두 가지 조건을 충족해야 합니다.

  • 입력/출력은 텍스트 시퀀스로 표현되어야 합니다.
  • 이러한 도구를 사용하는 방법을 보여주는 데모가 있습니다.

Toolformer의 초기 구현은 5가지 API 도구를 지원합니다.

  1. Q&A: 간단한 사실 질문에 답하는 또 다른 LM입니다.
  2. 계산기: 현재 4가지 기본 산술 연산과 소수점 이하 두 자리 반올림만 지원합니다.
  3. Wiki 검색: Wikipedia에서 잘라낸 짧은 텍스트를 반환하는 검색 엔진입니다.
  4. 기계 번역 시스템: 모든 언어의 문구를 영어로 번역할 수 있는 LM입니다.
  5. Calendar: 입력을 받아들이지 않고 현재 날짜를 반환하는 달력에 대한 API 호출입니다.

다음 그림은 사용된 모든 API의 입력 및 출력 예를 보여줍니다.

Toolformer 해석

3. 적용 예

Toolformer는 LAMA, 수학 데이터 세트, 문제 해결 및 시간 데이터 세트와 같은 작업에서 탁월한 성능을 발휘합니다. 기본 모델 및 GPT-3와 비교하였지만 다국어 질의 응답 성능은 다른 모델만큼 좋지 않습니다. Toolformer는 API 호출을 사용하여 LAMA API, Calculator API 및 Wikipedia Search Tool API와 같은 작업을 완료합니다.

3.1 LAMA

이 작업은 사실이 부족한 진술을 완성하는 것입니다. Toolformer는 기본 모델은 물론 GPT-3와 같은 더 큰 모델보다 성능이 뛰어납니다. 다음 표는 LAMA API 호출을 통해 얻은 결과를 보여줍니다.

Toolformer 해석

3.2 수학 데이터 세트

이 작업은 다양한 기본 모델에 대해 Toolformer의 수학적 추론 기능을 평가하는 것입니다. Toolformer는 API 호출 예제를 미세 조정했기 때문에 다른 모델보다 더 나은 성능을 발휘합니다. 모델이 API 호출을 수행하도록 허용하면 모든 작업의 ​​성능이 크게 향상되고 OPT 및 GPT-3와 같은 대규모 모델보다 성능이 뛰어납니다. 거의 모든 경우에 모델은 계산기 도구에 도움을 요청하기로 결정했습니다.

다음 표는 Calculator API 호출을 통해 얻은 결과를 보여줍니다.

Toolformer 해석

3.3 질문 답변

작업은 동일한 크기의 기본 모델보다 Toolformer의 성능이 더 좋지만 더 좋습니다. GPT-3(175B)보다. Toolformer는 이 작업의 대부분의 예에 대해 Wikipedia의 검색 도구를 활용합니다. 다음 표는 Wikipedia 검색 도구 API 호출을 통해 얻은 결과를 보여줍니다.

Toolformer 해석

3.4 다국어 질문 응답

질문 응답 데이터세트는 영어 문맥 단락과 아랍어가 포함된 다국어 질문 응답 벤치마크 MLQA에 사용됩니다. 독일어, 스페인어, 힌디어, 베트남어 또는 중국어 간체. Toolformer는 여기서 가장 강력한 성능을 발휘하지 못합니다. 아마도 CCNet이 모든 언어에 걸쳐 튜닝이 부족하기 때문일 것입니다.

다음 표는 Wikipedia 검색 도구 API 호출을 통해 얻은 결과를 보여줍니다.

Toolformer 해석

3.5 시간 데이터 세트

이 작업은 질문에 대답하는 데 현재 날짜가 중요한 위치를 이해하는 것입니다. Toolformer는 기준보다 뛰어난 성능을 발휘할 수 있었지만 확실히 달력 도구를 100% 활용하지는 못했습니다. 대신 Wikipedia 검색을 사용합니다. 다음 표는 Wikipedia 검색 도구 API 호출을 통해 얻은 결과를 보여줍니다.

Toolformer 해석

4. ToolFormer의 한계

Toolformer에는 여전히 여러 도구를 동시에 사용할 수 없는 등 몇 가지 제한 사항이 있습니다. 너무 많은 반환된 결과를 처리하기 위한 도구, 비효율성을 초래하는 입력 문구에 대한 민감성, 높은 계산 비용으로 이어질 수 있는 사용 비용 고려 실패 및 기타 문제. 세부 내용은 다음과 같습니다.

  1. 각 도구에 대한 API 호출은 독립적으로 생성되므로 Toolformer는 하나의 프로세스에서 여러 도구를 사용할 수 없습니다.
  2. 특히 검색 엔진과 같이 수백 가지의 서로 다른 결과를 반환할 수 있는 도구의 경우 Toolformer를 대화형으로 사용할 수 없습니다.
  3. Toolformer를 사용하여 훈련된 모델은 입력의 정확한 문구에 매우 민감합니다. 이 접근 방식은 일부 도구에서는 비효율적이며 소수의 유용한 API 호출을 생성하려면 광범위한 문서가 필요합니다.
  4. 각 도구를 사용하기로 결정할 때 사용 비용은 고려되지 않으므로 계산 비용이 더 높아질 수 있습니다.

5. 요약

Toolformer는 In-Context Learning을 사용하여 주어진 상황이나 상황에 적합한 언어를 이해하고 생성하는 모델의 능력을 향상시키는 대규모 언어 모델입니다. API 호출을 사용하여 대량의 데이터에 주석을 추가한 다음 이러한 API 호출을 사용하여 모델을 미세 조정하여 유용한 API 호출을 수행합니다. Toolformer는 각 작업에 어떤 도구가 사용될지 예측하는 방법을 학습합니다. 그러나 Toolformer에는 프로세스에서 여러 도구를 사용할 수 없거나 수백 가지의 서로 다른 결과를 반환할 수 있는 대화형 도구를 사용할 수 없는 등 여전히 몇 가지 제한 사항이 있습니다.

【참고 자료 및 관련 자료】

  • Toolformer: 언어 모델이 스스로 도구 사용 방법을 학습할 수 있음, https://arxiv.org/pdf/2302.04761.pdf
  • Meta의 Toolformer는 API를 사용하여 Zero-Shot에서 GPT-3보다 뛰어난 성능을 발휘함 NLP 작업, https://www.infoq.com/news/2023/04/meta-toolformer/
  • Toolformer: 언어 모델은 스스로 도구 사용 방법을 가르칠 수 있음(2023), https://kikaben.com/toolformer- 2023 /
  • Breaking Down Toolformer, https://www.shape.ai/blog/breaking-down-toolformer
  • Toolformer: Meta는 Wikipedia를 사용하여 새로운 모델로 ChatGPT 경주에 다시 참가합니다. https://thechainsaw.com / business/meta-toolformer-ai/
  • Toolformer 언어 모델은 자체적으로 외부 도구를 사용합니다. https://the-decoder.com/toolformer-언어-model-uses-external-tools-on-its-own/

위 내용은 Toolformer 해석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제