Mistral 7B: 새로운 LLM 시대의 도래
Published on
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를 실행할 수 있습니다. 다음은 단계별 안내서입니다:
-
Docker 이미지 다운로드:
먼저, vLLM을 묶은 빠른 Python 추론 서버인 Docker 이미지를 가져와야 합니다. Mistral 7B를 실행하는 데 필요한 모든 것이 포함되어 있습니다.docker pull ghcr.io/mistralai/harmattan/vllm-public:latest
-
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을 지원합니다. 다음은 설정 방법입니다:
-
설치:
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를 설치하고 실행한 후에는 상호 작용할 수 있습니다. 모델을 사용하는 방법에 대한 자세한 단계는 모델과 상호 작용하기 (opens in a new tab) 페이지에서 찾을 수 있습니다. 이 가이드에서는 모델에 요청을 보내는 방법, 응답을 이해하는 방법 및 특정 작업에 대한 모델을 세밀하게 조정하는 방법을 제공합니다.
환경 설정
Mistral 7B와 상호 작용하기 전에 환경을 설정해야 합니다:
-
OpenAI Python 패키지 설치:
이 패키지는 모델과의 상호 작용을 용이하게 해줍니다.pip install openai
-
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는 주어진 프롬프트를 완성하여 일관된 내용과 문맥적으로 관련 있는 텍스트를 제공할 수 있습니다. 완성을 시작하는 방법은 다음과 같습니다:
-
텍스트 완성을 위한 샘플 코드:
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는 사용자 쿼리에 대한 대화형 응답을 제공하여 대화형 채팅에 사용할 수도 있습니다.
-
채팅 상호 작용을 위한 샘플 코드:
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 구성
-
구성 파일 생성:
추론 서버의 배포 세부 정보를 지정하는 구성 파일을 생성하여 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
-
환경 변수 설정:
SkyPilot이 추론 서버 컨테이너와 모델 가중치를 가져올 수 있도록 특정 환경 변수를 설정해야 합니다. -
추론 서버 시작:
환경 변수가 설정된 상태에서 다음 명령을 사용하여 추론 서버를 시작할 수 있습니다: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)
-
Mistral 7B는 무엇인가요?
Mistral 7B는 Mistral AI가 개발한 최첨단 Large Language Model (LLM)입니다. 코드, 수학 및 추론과 관련된 작업에서 기존 모델보다 우수한 성능을 발휘하도록 설계되었습니다. -
로컬 머신 또는 클라우드에 Mistral 7B를 어떻게 배포할 수 있나요?
Mistral 7B는 유연한 배포 옵션을 제공합니다. Docker를 사용하여 로컬에서 실행하거나 SkyPilot을 사용하여 AWS, GCP 또는 Azure와 같은 클라우드 플랫폼에 배포할 수 있습니다. -
Mistral 7B는 오픈 소스인가요?
네, Mistral 7B는 Apache 2.0 라이선스로 공개되어 넓은 커뮤니티에서 이용할 수 있습니다. -
Mistral 7B는 성능 측면에서 다른 LLM과 어떻게 비교되나요?
Mistral 7B는 LLaMA 1 34B와 같은 모델보다 우수한 성능을 보여주며, 특히 코드 관련 작업에서 CodeLlama 7B의 기능에 근접합니다.
최신 LLM 뉴스를 알고 싶으신가요? 최신 LLM 리더보드를 확인해보세요!