다음을 통해 공유


에 대한 AI 도구 키트 시작 Visual Studio Code

AI 도구 키트(AI 도구 키트 VS Code )는 앱 또는 클라우드에서 AI 모델을 다운로드, 테스트, 미세 조정 및 배포할 수 있는 확장입니다 VS Code . 자세한 내용은 AI 도구 키트 개요를 참조하세요.

이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • 에 대한 AI 도구 키트 설치 VS Code
  • 카탈로그에서 모델 다운로드
  • 플레이그라운드를 사용하여 로컬로 모델 실행
  • ONNX 런타임을 사용하여 REST 애플리케이션에 AI 모델 통합

필수 조건

설치

AI 도구 키트는 Visual Studio Marketplace에서 사용할 수 있으며 다른 VS Code 확장과 마찬가지로 설치할 수 있습니다. 확장 설치에 VS Code 익숙하지 않은 경우 다음 단계를 수행합니다.

  1. 활동 모음에서 VS Code 확장 선택
  2. 확장 검색 창에 "AI 도구 키트"를 입력합니다.
  3. "Visual Studio 코드용 AI 도구 키트"를 선택합니다.
  4. 설치를 선택합니다.

확장이 설치되면 활동 모음에 AI 도구 키트 아이콘이 표시됩니다.

카탈로그에서 모델 다운로드

AI 도구 키트의 기본 사이드바는 모델 및 리소스로 구성됩니다. 플레이그라운드미세 조정 기능은 리소스 섹션에서 사용할 수 있습니다. 시작하려면 모델 카탈로그를 선택합니다.

AI 도구 키트 모델 카탈로그

모델 카드에는 모델 크기, 플랫폼 및 가속기 유형(CPU, GPU)이 표시됩니다. GPU가 하나 이상 있는 Windows 디바이스에서 최적화된 성능을 위해 Windows만 대상으로 하는 모델 버전을 선택합니다. 이렇게 하면 DirectML 가속기용으로 최적화된 모델이 있습니다. 모델 이름은 .의 {model_name}-{accelerator}-{quantization}-{format}형식입니다.

Windows 디바이스에 GPU가 있는지 확인하려면 작업 관리자를 열고 성능 탭을 선택합니다. GPU가 있는 경우 "GPU 0" 또는 "GPU 1"와 같은 이름 아래에 나열됩니다.

다음으로, 디바이스에서 GPU의 가용성에 따라 다음 모델을 다운로드합니다.

플랫폼 GPU 사용 가능 모델 이름 크기(GB)
Windows Phi-3-mini-4k-directml-int4-awq-block-128-onnx 2.13GB
Linux Phi-3-mini-4k-cuda-int4-onnx 2.30GB
Windows
Mac
Linux
아니요 Phi-3-mini-4k-cpu-int4-rtn-block-32-acc-level-4-onnx 2.72GB

참고 항목

Phi3-mini(int4) 모델의 크기는 약 2GB-3GB입니다. 네트워크 속도에 따라 다운로드하는 데 몇 분 정도 걸릴 수 있습니다.

놀이터에서 모델 실행

모델이 다운로드되면 카탈로그의 모델 카드에서 플레이그라운드에 로드를 선택합니다.

놀이터에 로드

플레이그라운드의 채팅 인터페이스에서 다음 메시지와 Enter 키를 입력합니다.

플레이그라운드 선택

모델 응답이 사용자에게 다시 스트리밍되는 것을 볼 수 있습니다.

생성 응답

Warning

디바이스에서 사용할 수 있는 GPU가 없지만 Phi-3-mini-4k-directml-int4-awq-block-128-onnx 모델을 선택한 경우 모델 응답이 매우 느려집니다. 대신 CPU 최적화 버전인 Phi-3-mini-4k-cpu-int4-rtn-block-32-acc-level-4-onnx를 다운로드해야 합니다.

다음을 변경할 수도 있습니다.

  • 컨텍스트 지침: 모델이 요청의 더 큰 그림을 이해하는 데 도움이 됩니다. 이는 백그라운드 정보, 원하는 항목의 예제/데모 또는 작업의 목적을 설명하는 것일 수 있습니다.
  • 유추 매개 변수:
    • 최대 응답 길이: 모델이 반환할 최대 토큰 수입니다.
    • 온도: 모델 온도는 언어 모델의 출력을 임의로 제어하는 매개 변수입니다. 온도가 높을수록 모델이 더 많은 위험을 감수하여 다양한 단어를 혼합할 수 있습니다. 반면, 온도가 낮을수록 모델이 안전하게 재생되고 더 집중적이고 예측 가능한 응답을 고수할 수 있습니다.
    • 상위 P: 핵 샘플링이라고도 하며, 다음 단어를 예측할 때 언어 모델에서 고려할 수 있는 단어 또는 구의 수를 제어하는 설정입니다.
    • 빈도 페널티: 이 매개 변수는 모델이 출력에서 단어 또는 구를 반복하는 빈도에 영향을 줍니다. 값이 높을수록(1.0에 가까울수록) 모델이 단어나 구를 반복하지 않도록 합니다.
    • 프레즌스 페널티: 이 매개 변수는 생성된 텍스트의 다양성과 특이성을 장려하기 위해 생성 AI 모델에 사용됩니다. 값이 1.0에 가까울수록 모델에 더 많은 신규 및 다양한 토큰이 포함되도록 할 수 있습니다. 값이 낮을수록 모델이 공통 또는 진부한 구를 생성할 가능성이 높습니다.

애플리케이션에 AI 모델 통합

애플리케이션에 모델을 통합하는 두 가지 옵션이 있습니다.

  1. AI 도구 키트는 OpenAI 채팅 완료 형식을 사용하는 로컬 REST API 웹 서버와 함께 제공됩니다. 이렇게 하면 클라우드 AI 모델 서비스에 의존하지 않고도 엔드포인트 http://127.0.0.1:5272/v1/chat/completions 를 사용하여 애플리케이션을 로컬로 테스트할 수 있습니다. 프로덕션 환경에서 클라우드 엔드포인트로 전환하려는 경우 이 옵션을 사용합니다. OpenAI 클라이언트 라이브러리를 사용하여 웹 서버에 연결할 수 있습니다.
  2. ONNX 런타임 사용. 디바이스에서 추론을 사용하여 애플리케이션과 함께 모델을 제공하려는 경우 이 옵션을 사용합니다.

로컬 REST API 웹 서버

로컬 REST API 웹 서버를 사용하면 클라우드 AI 모델 서비스에 의존하지 않고도 애플리케이션을 로컬로 빌드 및 테스트할 수 있습니다. 또는 OpenAI 클라이언트 라이브러리를 사용하여 REST웹 서버와 상호 작용할 수 있습니다.

다음은 요청에 대한 REST 예제 본문입니다.

{
    "model": "Phi-3-mini-4k-directml-int4-awq-block-128-onnx",
    "messages": [
        {
            "role": "user",
            "content": "what is the golden ratio?"
        }
    ],
    "temperature": 0.7,
    "top_p": 1,
    "top_k": 10,
    "max_tokens": 100,
    "stream": true
}'

참고 항목

모델 필드를 다운로드한 모델의 이름으로 업데이트해야 할 수 있습니다.

Postman 또는 CURL 유틸리티와 같은 API 도구를 사용하여 엔드포인트를 테스트 REST 할 수 있습니다.

curl -vX POST http://127.0.0.1:5272/v1/chat/completions -H 'Content-Type: application/json' -d @body.json

ONNX Runtime

ONNX 런타임 생성 APIONNX 런타임 유추, 로그 처리, 검색 및 샘플링 및 KV 캐시 관리를 포함하여 ONNX 모델에 대한 생성 AI 루프를 제공합니다. 상위 수준 generate() 메서드를 호출하거나 루프에서 모델의 각 반복을 실행하여 한 번에 하나의 토큰을 생성하고 필요에 따라 루프 내에서 생성 매개 변수를 업데이트할 수 있습니다.

greedy/beam 검색 및 TopP, 토큰 시퀀스를 생성하는 TopK 샘플링 및 반복 페널티와 같은 기본 제공 로그 처리를 지원합니다. 다음 코드는 애플리케이션에서 ONNX 런타임을 활용하는 방법의 예입니다.

로컬 REST API 웹 서버에 표시된 예제를 참조하세요. AI 도구 키트 REST 웹 서버는 ONNX 런타임을 사용하여 빌드됩니다.

이후 수행할 단계