Want to Become a Sponsor? Contact Us Now!🎉

LLM
Mistral 7B: Mistral AI의 고급 언어 모델 전체 가이드

Mistral 7B: 새로운 LLM 시대의 도래

Published on

Mistral AI의 혁신적인 대형 언어 모델인 Mistral 7B에 대해 깊이 파고들어보세요. 기술적 능력, 설정 및 실제 응용 분야를 탐색해보세요.

AI 분야는 혁신에 낯설지 않지만, Mistral 7B와 같은 놀라운 기술들은 가끔 이런 성과를 선보입니다. Mistral AI가 개발한 이 LLM은 단순한 크기가 아니라 효율성, 정확성 및 다재다능함을 갖추었습니다.

최신 LLM 뉴스를 알고 싶으신가요? 최신 LLM 리더보드를 확인해보세요!

Mistral 7B: 무엇인가요?

Mistral 7B의 출시로 AI 및 NLP 커뮤니티 내에서 기대감과 호기심이 모아지고 있습니다. Hugging Face와 같은 플랫폼에서의 이 모델의 존재와 Mistral AI가 제공하는 다양한 문서는 다양한 업종에서의 사용을 용이하게 해주었습니다.

성능 벤치마크

LLM 분야에 있어서 성능은 매우 중요합니다. Mistral 7B는 유명한 Llama 2 13B를 포함한 다른 경쟁 모델들을 압도하여 자신의 실력을 입증하였습니다. 하지만 숫자는 겉보기 일부일 뿐입니다. Mistral 7B의 진가는 복잡한 아키텍처와 기능에 있습니다.

Mistral 7B의 성능 벤치마크, 특히 코드, 수학 및 추론과 같은 LLaMA 1 34B와의 비교에서 우수성을 보여줌으로써 개발자와 연구원들 사이에서 인기를 얻었습니다. CodeLlama 7B의 성능에 근사하게 접근하는 능력은 그 능력을 한층 더 강조합니다.

Mistral 7B의 적용성과 다재다능함

Mistral 7B의 가장 두드러진 특징 중 하나는 그 적용성입니다. 챗봇, 콘텐츠 생성, 코드 완성 또는 연구와 같은 다양한 분야에서 Mistral 7B는 다재다능함을 보여주었습니다.

Mistral 7B: 설정 및 배포

Mistral 7B의 성능을 활용하고 싶은 분들을 위해 상세 안내서를 제공합니다:

1. Mistral 7B의 온라인 체험:
설정에 들어가기 전에, Mistral 7B를 체험해 볼 수 있는 온라인 데모 (opens in a new tab)를 확인해보세요.

2. Mistral 7B 획득:
모델은 Torrent를 통해 다운로드 (opens in a new tab)할 수 있습니다. 릴리스 코드는 ab979f50d7d406ab8d0b07d09806c72c입니다.

3. Docker를 사용하여 Mistral 7B 실행:
GPU가 활성화된 호스트를 사용하는 경우, Docker를 사용하여 Mistral 7B를 실행할 수 있습니다. 다음은 Docker를 사용하여 모델을 실행하는 샘플 코드입니다:

docker run --gpus all \
 -e HF_TOKEN=$HF_TOKEN -p 8000:8000 \
 ghcr.io/mistralai/harmattan/vllm-public:latest \
 --host 0.0.0.0 \
 --model mistralai/Mistral-7B-v0.1

참고: $HF_TOKEN을 본인의 Hugging Face 사용자 액세스 토큰으로 대체하세요.

4. vLLM을 사용한 직접 배포:
직접 배포를 선호하는 경우, Mistral 7B는 GPU가 활성화된 호스트에서 Cuda 11.8을 지원합니다. 다음은 단계별 안내서입니다:

  • 설치:
    pip를 사용하여 vLLM을 설치하세요:
    pip install vllm
  • Hugging Face Hub 로그인:
    Hugging Face 허브에 로그인하세요:
    huggingface-cli login
  • 서버 시작:
    다음 명령을 사용하여 서버를 시작하세요:
    python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1

Mistral 7B의 아키텍처적 혁신

Mistral 7B는 성능뿐만 아니라 독특한 아키텍처적 혁신으로 인해 돋보입니다. 자세한 내용을 살펴보겠습니다:

슬라이딩 윈도우 어텐션 (SWA)

SWA는 모델의 각 레이어가 이전 4,096개의 hidden state에 어텐션을 할 수 있도록 합니다. 이 메커니즘은 슬라이딩 윈도우 시퀀스의 길이에 비례하여 선형 연산 비용을 제공합니다. 이 장점은 실시간 응용 프로그램에서 빠른 응답 시간이 필요한 경우에 잘 드러납니다.

그룹화된 쿼리 어텐션 (GQA)

GQA는 추론 속도를 가속화하기 위해 설계되었으며, Mistral 7B가 신속하게 응답할 수 있도록합니다. 이는 실시간 상호작용을 요구하는 응용 프로그램에 적합합니다.

Mistral 7B의 설정 및 배포 방법

Mistral 7B는 배포 방식에서 유연성을 제공합니다. 로컬으로 실행하거나 클라우드 플랫폼에 배포할 경우를 대비해 포괄적인 안내서를 제공합니다:

Docker를 사용하여 Mistral 7B 실행

GPU가 활성화된 호스트를 사용하는 경우, Docker를 사용하여 Mistral 7B를 실행할 수 있습니다. 다음은 단계별 안내서입니다:

  1. Docker 이미지 다운로드:
    먼저, vLLM을 묶은 빠른 Python 추론 서버인 Docker 이미지를 가져와야 합니다. Mistral 7B를 실행하는 데 필요한 모든 것이 포함되어 있습니다.

    docker pull ghcr.io/mistralai/harmattan/vllm-public:latest
  2. Docker를 사용하여 모델 실행:
    이미지를 가져왔으면, 다음 명령을 사용하여 모델을 실행할 수 있습니다:

    docker run --gpus all \
    -e HF_TOKEN=$HF_TOKEN -p 8000:8000 \
    ghcr.io/mistralai/harmattan/vllm-public:latest \
    --host 0.0.0.0 \
    --model mistralai/Mistral-7B-v0.1

    참고: $HF_TOKEN을 본인의 Hugging Face 사용자 액세스 토큰으로 대체하세요.

vLLM을 사용한 직접 배포

직접 배포를 위해 Mistral 7B는 GPU가 활성화된 호스트에서 Cuda 11.8을 지원합니다. 다음은 설정 방법입니다:

  1. 설치:
    pip를 사용하여 vLLM을 설치하세요:

    pip install vllm
  2. Hugging Face Hub에 로그인:
    모델을 사용하기 전에 Hugging Face 허브에 로그인해야 합니다:

    huggingface-cli login
  3. 서버 시작:
    아래의 명령을 사용하여 서버를 시작하세요:

    python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1

Mistral 7B의 로컬 실행 방법

한 번 Mistral 7B를 설치하고 실행한 후에는 상호 작용할 수 있습니다. 모델을 사용하는 방법에 대한 자세한 단계는 모델과 상호 작용하기 (opens in a new tab) 페이지에서 찾을 수 있습니다. 이 가이드에서는 모델에 요청을 보내는 방법, 응답을 이해하는 방법 및 특정 작업에 대한 모델을 세밀하게 조정하는 방법을 제공합니다.

환경 설정

Mistral 7B와 상호 작용하기 전에 환경을 설정해야 합니다:

  1. OpenAI Python 패키지 설치:
    이 패키지는 모델과의 상호 작용을 용이하게 해줍니다.

    pip install openai
  2. OpenAI 모듈 구성:
    모듈을 Mistral 7B가 배포된 서버로 지정합니다.

    import openai
    openai.api_base = "http://your-server-ip-or-hostname:8000/v1" 
    openai.api_key = "none"  # vLLM server is not authenticated

Mistral 7B를 사용하여 텍스트 완성 생성하기

Mistral 7B는 주어진 프롬프트를 완성하여 일관된 내용과 문맥적으로 관련 있는 텍스트를 제공할 수 있습니다. 완성을 시작하는 방법은 다음과 같습니다:

  1. 텍스트 완성을 위한 샘플 코드:

    completion = openai.Completion.create(
      model="mistralai/Mistral-7B-Instruct-v0.1", 
      prompt="The mistral is",
      temperature=0.7,
      max_tokens=200, 
      stop="."
    )
    print(completion.to_dict_recursive())

    이 코드는 다음과 같은 완성을 출력합니다:

    {
      'id': 'cmpl-87f6980633bb45f5aecd551bc35335e6',
      'object': 'text_completion',
      'created': 1695651536,
      'model': 'mistralai/Mistral-7B-Instruct-v0.1',
      'choices': [{
        'index': 0,
        'text': ' a cold, dry, northeasterly wind that blows over the Mediterranean Sea',
        'logprobs': None,
        'finish_reason': 'stop'
      }],
      'usage': {'prompt_tokens': 5, 'total_tokens': 23, 'completion_tokens': 18}
    }

대화형 채팅에 참여하기

Mistral 7B는 사용자 쿼리에 대한 대화형 응답을 제공하여 대화형 채팅에 사용할 수도 있습니다.

  1. 채팅 상호 작용을 위한 샘플 코드:

    messages = [{"role": "user", "content": "What is the bash command to list all files in a folder and sort them by last modification?"}]
    chat_completion = openai.ChatCompletion.create(
      model="mistralai/Mistral-7B-Instruct-v0.1",
      temperature=1,
      max_tokens=1024,
      messages=messages
    )

    이 코드는 모델과의 채팅을 시작하고 모델은 사용자의 쿼리에 관련된 응답을 제공합니다.

SkyPilot를 사용하여 Mistral 7B 배포

SkyPilot는 Mistral 7B와 같은 LLM을 다양한 클라우드 플랫폼에 신속하게 배포할 수 있는 원활한 경험을 제공합니다. 최대한의 비용 절감, 최적화된 GPU 가용성 및 관리된 실행을 약속합니다. SkyPilot을 사용하여 Mistral 7B를 배포하는 자세한 안내서는 다음과 같습니다:

SkyPilot 구성

  1. 구성 파일 생성:
    추론 서버의 배포 세부 정보를 지정하는 구성 파일을 생성하여 SkyPilot에 지시합니다. 이는 Mistral AI가 제공하는 미리 빌드된 도커 컨테이너를 사용합니다. 구성은 다음과 같은 모양일 것입니다:

    envs:
      MODEL_NAME: mistralai/Mistral-7B-v0.1
    resources: 
      cloud: aws
      accelerators: V100:1
      ports: 
      - 8000
    run: |
      docker run --gpus all -p 8000:8000 ghcr.io/mistralai/harmattan/vllm-public:latest \\
      --host 0.0.0.0 \\
      --model $MODEL_NAME \\
      --tensor-parallel-size $SKYPILOT_NUM_GPUS_PER_NODE
  2. 환경 변수 설정:
    SkyPilot이 추론 서버 컨테이너와 모델 가중치를 가져올 수 있도록 특정 환경 변수를 설정해야 합니다.

  3. 추론 서버 시작:
    환경 변수가 설정된 상태에서 다음 명령을 사용하여 추론 서버를 시작할 수 있습니다:

    sky launch mistral-7b-v0.1.yaml --region us-east-1

    주의: 이 방식으로 배포하면 모델이 전 세계에서 접근 가능합니다. 보안하는 것이 중요합니다. 전용 네트워크에만 노출시키거나 인증 메커니즘이 있는 로드 밸런서를 추가하거나 인스턴스 네트워킹을 적절하게 구성할 수 있습니다.

사용량 할당량과 클라우드 공급자

많은 클라우드 공급자는 강력한 GPU 인스턴스에 대한 명시적인 액세스 요청을 필요로 합니다. 이에 대한 지침은 SkyPilot의 안내서 (opens in a new tab)를 참조하십시오.

결론: Mistral AI의 미래 로드맵

Mistral 7B는 중요한 기념비적인 이정표이지만, Mistral AI의 여정은 여기서 끝나지 않습니다. NLP와 AI의 경계를 넓히는 회사의 헌신을 통해 앞으로 더 많은 혁신, 개선 및 뚜렷한 모델을 기대할 수 있습니다.

자주 묻는 질문 (FAQs)

  1. Mistral 7B는 무엇인가요?
    Mistral 7B는 Mistral AI가 개발한 최첨단 Large Language Model (LLM)입니다. 코드, 수학 및 추론과 관련된 작업에서 기존 모델보다 우수한 성능을 발휘하도록 설계되었습니다.

  2. 로컬 머신 또는 클라우드에 Mistral 7B를 어떻게 배포할 수 있나요?
    Mistral 7B는 유연한 배포 옵션을 제공합니다. Docker를 사용하여 로컬에서 실행하거나 SkyPilot을 사용하여 AWS, GCP 또는 Azure와 같은 클라우드 플랫폼에 배포할 수 있습니다.

  3. Mistral 7B는 오픈 소스인가요?
    네, Mistral 7B는 Apache 2.0 라이선스로 공개되어 넓은 커뮤니티에서 이용할 수 있습니다.

  4. Mistral 7B는 성능 측면에서 다른 LLM과 어떻게 비교되나요?
    Mistral 7B는 LLaMA 1 34B와 같은 모델보다 우수한 성능을 보여주며, 특히 코드 관련 작업에서 CodeLlama 7B의 기능에 근접합니다.

최신 LLM 뉴스를 알고 싶으신가요? 최신 LLM 리더보드를 확인해보세요!

Anakin AI - The Ultimate No-Code AI App Builder