도구 사용으로 LLM 역량 확장
대규모 언어 모델(LLM)은 다양한 자연어 처리 작업에서 뛰어난 능력을 보여주었습니다. 하지만 LLM의 진정한 잠재력은 API 및 컴퓨팅 프레임워크와 같은 외부 도구와의 원활한 통합을 통해 발휘됩니다. 이러한 도구를 통해 LLM은 실시간 데이터에 액세스하고, 특정 도메인 계산을 수행하고, 정확한 정보를 검색하여 신뢰성과 다재다능성을 높일 수 있습니다.
예를 들어, 날씨 API를 통합하면 LLM이 정확하고 최신 날씨 예보를 제공할 수 있습니다. 마찬가지로 Wikipedia API를 통해 LLM은 방대한 정보 저장소에 액세스하여 복잡한 쿼리에 더욱 정확하게 응답할 수 있습니다. 과학적 맥락에서 계산기 및 기호 엔진과 같은 도구는 LLM이 수치 부정확성을 극복하도록 도와주어 복잡한 계산에 더욱 신뢰할 수 있도록 합니다.
이러한 도구와 원활하게 통합함으로써 LLM은 실제 유틸리티를 통해 역동적이고 전문화된 작업을 처리할 수 있는 강력한 도메인 인식 시스템으로 발전합니다.
Amazon Nova 모델 및 Amazon Bedrock
2024년 12월 AWS re:Invent에서 소개된 Amazon Nova 모델은 뛰어난 가격 대비 성능 가치를 제공하도록 설계되었습니다. 이러한 모델은 비용 효율성을 유지하면서 주요 텍스트 이해 벤치마크에서 최첨단 성능을 제공합니다. 이 시리즈는 세 가지 변형으로 구성됩니다.
- Micro: 초효율적인 성능을 제공하는 엣지 사용에 최적화된 텍스트 전용 모델입니다.
- Lite: 다재다능함과 성능 간의 균형을 유지하는 멀티모달 모델입니다.
- Pro: 복잡한 작업을 해결하도록 설계된 고성능 멀티모달 모델입니다.
Amazon Nova 모델은 생성 및 에이전트 워크플로우 개발을 포함한 광범위한 작업에 사용할 수 있습니다. 이러한 모델은 도구 호출이라는 프로세스를 통해 외부 도구 또는 서비스와 상호 작용할 수 있는 기능을 갖추고 있습니다. 이 기능은 Amazon Bedrock 콘솔 및 Converse 및 Invoke와 같은 API를 통해 액세스할 수 있습니다.
사전 훈련된 모델을 사용하는 것 외에도 개발자는 멀티모달 데이터(Pro 및 Lite) 또는 텍스트 데이터(Pro, Lite 및 Micro)로 이러한 모델을 미세 조정할 수 있습니다. 이 유연성을 통해 개발자는 원하는 수준의 정확도, 대기 시간 및 비용 효율성을 달성할 수 있습니다. 또한 개발자는 Amazon Bedrock 콘솔 및 API를 활용하여 더 큰 모델의 자체 서비스 사용자 정의 미세 조정 및 증류를 더 작은 모델로 수행할 수 있습니다.
솔루션 개요
이 솔루션에는 특히 도구 사용을 위해 설계된 사용자 지정 데이터 세트를 준비하는 작업이 포함됩니다. 그런 다음 이 데이터 세트를 사용하여 Amazon Bedrock을 통해 Amazon Nova 모델의 성능을 평가하고 Converse 및 Invoke API를 활용합니다. 그런 다음 AmazonNova Micro 및 Amazon Nova Lite 모델은 Amazon Bedrock을 통해 준비된 데이터 세트를 사용하여 미세 조정됩니다. 미세 조정 프로세스가 완료되면 이러한 사용자 정의 모델은 프로비저닝된 처리량을 통해 평가됩니다.
도구
LLM의 도구 사용은 도구 선택과 인수 추출 또는 생성의 두 가지 필수 작업을 포함합니다. 예를 들어 특정 위치에 대한 날씨 정보를 검색하도록 설계된 도구를 생각해 보십시오. ‘지금 런던의 날씨는 어떻습니까?’와 같은 쿼리가 제공되면 LLM은 사용 가능한 도구를 평가하여 적절한 도구가 있는지 확인합니다. 적합한 도구가 식별되면 모델은 도구를 선택하고 필요한 인수(이 경우 ‘런던’)를 추출하여 도구 호출을 구성합니다.
각 도구는 의도된 기능, 필수 및 선택적 인수, 관련 데이터 유형을 간략하게 설명하는 공식 사양으로 꼼꼼하게 정의됩니다. _도구 구성_이라고 하는 이러한 정확한 정의는 도구 호출이 올바르게 실행되고 인수 구문 분석이 도구의 작동 요구 사항과 일치하도록 합니다. 이 요구 사항을 준수하여 이 예제에서 사용된 데이터 세트는 각각 고유한 인수와 구성이 있는 8개의 고유한 도구를 정의하며 모두 JSON 형식으로 구성됩니다. 정의된 8가지 도구는 다음과 같습니다.
- weather_api_call: 날씨 정보를 검색하도록 설계된 사용자 지정 도구입니다.
- stat_pull: 통계를 식별하기 위한 사용자 지정 도구입니다.
- text_to_sql: 텍스트를 SQL 쿼리로 변환하기 위한 사용자 지정 도구입니다.
- terminal: 터미널 환경 내에서 스크립트를 실행하기 위한 도구입니다.
- wikipedia: Wikipedia 페이지를 검색하기 위한 Wikipedia API 도구입니다.
- duckduckgo_results_json: DuckDuckGo를 사용하여 검색을 수행하는 인터넷 검색 도구입니다.
- youtube_search: 비디오 목록을 검색하기 위한 YouTube API 검색 도구입니다.
- pubmed_search: PubMed 초록을 검색하기 위한 PubMed 검색 도구입니다.
데이터 세트
이 솔루션에 사용된 데이터 세트는 Amazon Bedrock의 Foundation Model(FM)의 도움으로 생성되고 이후 수동으로 검증 및 조정된 합성 도구 호출 데이터 세트입니다. 이 데이터 세트는 이전에 논의된 8가지 도구 세트를 위해 개발되었으며, 다른 모델이 이러한 예제에서 배우고 보이지 않는 도구 호출로 일반화할 수 있도록 다양한 질문 및 도구 호출 컬렉션을 생성하는 것을 목표로 합니다.
데이터 세트 내의 각 항목은 모델에 대한 자연어 사용자 쿼리인 질문, 사용자 쿼리에 응답하는 데 필요한 Ground Truth 도구, 도구를 실행하는 데 필요한 매개 변수를 포함하는 사전인 인수, 인수 순서가 중요한지 여부를 나타내는 order_matters: boolean
과 같은 추가 제약 조건 및 인수 유효성 검사 또는 서식 지정을 위한 정규 표현식(regex)인 arg_pattern: optional
을 정의하는 키-값 쌍을 포함하는 JSON 객체로 구성됩니다. 이러한 Ground Truth 레이블은 사전 훈련된 Amazon Nova 모델의 교육을 감독하여 도구 사용에 적응시키는 데 사용됩니다. _지도 학습 미세 조정_이라고 하는 이 프로세스는 다음 섹션에서 자세히 살펴봅니다.
훈련 세트는 560개의 질문으로 구성되고 테스트 세트는 120개의 질문으로 구성됩니다. 테스트 세트는 도구 범주당 15개의 질문을 포함하도록 구성되어 총 120개의 질문이 됩니다.
Amazon Nova용 데이터 세트 준비
이 데이터 세트를 Amazon Nova 모델과 효과적으로 활용하려면 특정 채팅 템플릿에 따라 데이터를 포맷해야 합니다. 기본 도구 호출에는 입력을 모델에 전달하기 전에 적절한 형식으로 포맷하는 변환 레이어가 통합되어 있습니다. 이 솔루션에서는 사용자 지정 프롬프트 템플릿을 사용하는 DIY 도구 사용 접근 방식이 채택되었습니다. 특히 시스템 프롬프트, 도구 구성이 포함된 사용자 메시지 및 Ground Truth 레이블을 어시스턴트 메시지로 추가해야 합니다.
Amazon S3에 데이터 세트 업로드
이 단계는 미세 조정 프로세스 중에 Amazon Bedrock이 교육 데이터에 액세스할 수 있도록 하는 데 필수적입니다. 데이터 세트는 Amazon Simple Storage Service(Amazon S3) 콘솔 또는 프로그래밍 방식으로 업로드할 수 있습니다.
Amazon Bedrock API를 통한 기본 모델로 도구 호출
도구 사용 데이터 세트를 만들고 필요한 대로 포맷하면 Amazon Nova 모델을 테스트하는 데 사용할 수 있습니다. Converse 및 Invoke API는 Amazon Bedrock에서 도구 사용에 사용할 수 있습니다. Converse API는 동적 컨텍스트 인식 대화를 가능하게 하여 모델이 다중 회전 대화에 참여할 수 있도록 하는 반면 Invoke API를 통해 사용자는 Amazon Bedrock 내에서 기본 모델을 호출하고 상호 작용할 수 있습니다.
Converse API를 사용하려면 메시지, 시스템 프롬프트(있는 경우) 및 도구 구성을 API로 직접 보냅니다.
LLM 응답에서 도구와 인수를 구문 분석하려면 “안녕하세요, 지금 파리의 온도는 어떻습니까?”라는 질문을 고려하십시오. 출력이 구문 분석되어 질문에 답하는 데 필요한 도구와 인수를 식별합니다.
향상된 도구 사용을 위해 Amazon Nova 모델 미세 조정
미세 조정은 Amazon Nova와 같은 사전 훈련된 언어 모델을 특정 작업에 적응시키는 데 중요한 단계입니다. 원하는 애플리케이션에 맞는 데이터 세트에서 모델을 훈련하여 모델이 더욱 정확하고 효율적으로 작업을 수행하는 방법을 배울 수 있습니다. 도구 사용의 맥락에서 미세 조정은 적절한 도구를 선택하고 올바른 인수를 추출하는 모델의 기능을 크게 향상시킬 수 있습니다.
미세 조정 프로세스에는 모델의 예측과 교육 데이터 세트의 Ground Truth 레이블 간의 차이를 최소화하기 위해 모델의 내부 매개 변수를 조정하는 작업이 포함됩니다. 일반적으로 모델이 교육 데이터에 반복적으로 노출되고 관찰된 오류에 따라 매개 변수가 조정되는 반복 프로세스를 통해 달성됩니다.
미세 조정 데이터 세트 준비
미세 조정 데이터 세트는 모델이 실제 시나리오에서 처리할 것으로 예상되는 질문 및 도구 호출 유형을 반영하도록 신중하게 큐레이팅해야 합니다. 데이터 세트에는 다양한 도구 범주 및 인수 패턴을 다루는 다양한 예제가 포함되어야 합니다.
데이터 세트의 각 예제는 질문, 호출할 해당 도구 및 도구를 실행하는 데 필요한 인수로 구성되어야 합니다. 인수는 일반적으로 JSON 객체로 구조화된 방식으로 포맷되어야 합니다.
미세 조정 프로세스
미세 조정 프로세스는 Amazon Bedrock 콘솔 또는 API를 사용하여 수행할 수 있습니다. 이 프로세스에는 미세 조정할 모델, 미세 조정 데이터 세트 및 원하는 교육 매개 변수를 지정하는 작업이 포함됩니다.
교육 매개 변수는 학습률, 배치 크기 및 에포크 수와 같은 미세 조정 프로세스의 다양한 측면을 제어합니다. 학습률은 각 반복 중에 이루어지는 매개 변수 조정의 크기를 결정합니다. 배치 크기는 각 반복에서 처리되는 예제 수를 결정합니다. 에포크 수는 모델이 전체 교육 데이터 세트에 노출되는 횟수를 결정합니다.
미세 조정된 모델 평가
미세 조정 프로세스가 완료된 후에는 미세 조정된 모델의 성능을 평가하는 것이 필수적입니다. 이는 미세 조정 프로세스 중에 사용되지 않은 별도의 테스트 데이터 세트에서 모델을 테스트하여 수행할 수 있습니다.
테스트 데이터 세트는 모델이 실제 시나리오에서 처리할 것으로 예상되는 질문 및 도구 호출 유형을 나타내야 합니다. 정확도, 정밀도, 재현율 및 F1 점수와 같은 메트릭을 측정하여 모델의 성능을 평가할 수 있습니다.
도구 사용을 위한 Amazon Nova 모델 사용자 정의의 이점
도구 사용을 위한 Amazon Nova 모델 사용자 정의는 다음과 같은 여러 가지 이점을 제공합니다.
- 정확도 향상: 작업별 데이터 세트에서 모델을 미세 조정하면 도구 선택 및 인수 추출의 정확도를 크게 향상시킬 수 있습니다.
- 효율성 증가: 미세 조정된 모델은 종종 사전 훈련된 모델보다 도구 사용 작업을 더 효율적으로 수행할 수 있습니다.
- 향상된 적응성: 미세 조정을 통해 모델이 특정 도메인 및 사용 사례에 적응할 수 있습니다.
- 비용 절감: 경우에 따라 미세 조정은 도구 사용 작업을 수행하는 데 필요한 컴퓨팅 리소스를 줄일 수 있습니다.
결론
도구 사용을 위한 Amazon Nova 모델 사용자 정의는 LLM의 성능과 적응성을 향상시키는 데 유용한 기술입니다. 작업별 데이터 세트에서 모델을 미세 조정하여 개발자는 도구 사용 애플리케이션의 정확도, 효율성 및 적응성을 크게 향상시킬 수 있습니다. 산업계에서 정보에 입각한 의사 결정을 내릴 수 있는 AI 솔루션에 대한 수요가 증가함에 따라 도구 사용을 위한 LLM 사용자 정의가 점점 더 중요해질 것입니다.