역자 |Chen Jun
Reviewer | Chonglou
최근 맞춤형 인공지능(AI) 프로젝트를 구현했습니다. 당사자 A는 매우 민감한 고객 정보를 보유하고 있으므로 보안상의 이유로 해당 정보를OpenAI또는 기타 독점 모델에 전달할 수 없습니다. 따라서 우리는AWS가상 머신에서 오픈 소스 AI 모델을 다운로드하고 실행하여 완전히 우리의 통제하에 두었습니다. 동시에Rails애플리케이션은 안전한 환경에서 AI에API호출을 할 수 있습니다. 물론 보안 문제를 고려할 필요가 없다면OpenAI와 직접 협력하는 것이 좋습니다.
아래에서는 오픈 소스 AI 모델을 로컬로 다운로드하여 실행하는 방법과 이에 대해Ruby스크립트를 실행하는 방법을 공유하겠습니다.
이 프로젝트의 동기는 간단합니다: 데이터 보안입니다. 민감한 고객 정보를 처리할 때 가장 신뢰할 수 있는 접근 방식은 일반적으로 회사 내에서 처리하는 것입니다. 따라서 더 높은 수준의 보안 통제와 개인정보 보호를 제공하는 역할을 하려면 맞춤형 AI 모델이 필요합니다.
지난6개월 동안 다음과 같은 새로운 제품이 시장에 출시되었습니다.Mistral,Mixtral그리고Lamaetc. 다수의 오픈 소스 AI 모델.GPT-4만큼 강력하지는 않지만 대부분의 성능은GPT-3.5을 초과했으며 시간이 지남에 따라 점점 더 강력해질 것입니다. 물론 어떤 모델을 선택하느냐는 전적으로 처리 능력과 달성해야 할 목표에 따라 달라집니다.
AI 모델을 로컬에서 실행할 예정이므로 약4GB인Mistral을 선택했습니다. 대부분의 지표에서GPT-3.5보다 성능이 뛰어납니다.Mixtral이Mistral보다 성능이 뛰어나긴 하지만 실행하려면 최소48GB메모리가 필요한 부피가 큰 모델입니다.
대형 언어 모델(LLM)에 관해 이야기할 때 우리는 해당 매개변수 크기를 언급하는 것을 고려하는 경향이 있습니다. 여기서 로컬에서 실행할Mistral모델은70억 개의 매개변수 모델입니다(물론Mixtral에는700개의 매개변수가 있고GPT-3.5약1750십억 매개변수).
일반적으로 대규모 언어 모델은 신경망 기반 기술을 사용합니다. 신경망은 뉴런으로 구성되며, 각 뉴런은 다음 계층의 다른 모든 뉴런과 연결됩니다.
위 그림과 같이 각 연결에는 가중치가 있으며 일반적으로 백분율로 표시됩니다. 각 뉴런에는 또한 노드를 통과할 때 데이터를 수정하는 편향이 있습니다.
신경망의 목적은 고급 알고리즘인 패턴 매칭 알고리즘을 "학습"하는 것입니다. 많은 양의 텍스트에 대한 훈련을 통해 점차적으로 텍스트 패턴을 예측하고 우리가 제공하는 단서에 의미 있게 반응하는 능력을 배울 것입니다. 간단히 말해서, 매개변수는 모델의 가중치와 편향의 수입니다. 이는 신경망에 얼마나 많은 뉴런이 있는지에 대한 아이디어를 제공합니다. 예를 들어,
70억 개의 매개변수 모델에는 약100개의 레이어가 있으며 각 레이어에는 수천 개의 뉴런이 있습니다.로컬에서 모델 실행
에서 실행하기 가장 쉽고 쉬운 옵션은Ollama입니다.
Ollama은 현재Mac및Linux에서만 실행되지만 앞으로는Windows에서도 실행될 예정입니다. 물론Windows에서WSL(Linux용 Windows 하위 시스템)을 사용하여Linux 셸을 실행할 수 있습니다.
Ollama다양한 오픈 소스 모델을 다운로드하고 실행할 수 있을 뿐만 아니라 로컬 포트에서 모델을 열어Ruby코드를 통해API호출을 할 수 있습니다. 이를 통해Ruby개발자가 로컬 모델과 통합할 수 있는Ruby애플리케이션을 쉽게 작성할 수 있습니다. Ollama는 주로 명령 줄 기반이므로
5분 정도 시간을 들여 소프트웨어 패키지를 설치한 다음 모델을 실행하면 됩니다.첫 번째 모델 설치Ollama를 설정하고 실행하면 브라우저 작업 표시줄에 Ollama 아이콘이 표시됩니다. 이는 백그라운드에서 실행 중이며 모델을 실행할 수 있음을 의미합니다. 모델을 다운로드하려면 터미널을 열고 다음 명령을 실행하면 됩니다.
ollama run mistral
이므로 시간이 좀 걸립니다. 다운로드를 완료하려면 다운로드가 완료되면Mistral
과 상호 작용하고 통신할 수 있는 Ollama 프롬프트가 자동으로 열립니다.다음번 Ollama를 통해mistral을 실행하시면 해당 모델을 직접 실행하실 수 있습니다.
사용자 정의 모델
OpenAI에서 사용자 정의GPT
을 생성하는 방법과 유사하게 Ollama를 통해 기본 모델을 사용자 정의할 수 있습니다. 여기서는 간단하게 사용자 정의 모델을 만들 수 있습니다. 보다 자세한 사례는 Ollama 온라인 문서를 참고하시기 바랍니다.
FROM mistral# Set the temperature set the randomness or creativity of the responsePARAMETER temperature 0.3# Set the system messageSYSTEM ”””You are an excerpt Ruby developer. You will be asked questions about the Ruby Programminglanguage. You will provide an explanation along with code examples.”””
ollama create-f './Modelfile
Ruby로 지정했습니다.
ollama create ruby -f './Modelfile'
ollama list
Ollama run ruby
Ollama에는 아직 전용gem이 없지만Ruby개발자는 기본HTTP요청 방법을 사용하여 모델과 상호 작용할 수 있습니다. 백그라운드에서 실행 중인 Ollama는11434포트를 통해 모델을 열 수 있으므로 "//m.sbmmt.com/link/dcd3f83c96576c0fd437286a1ff6f1f0"을 통해 액세스할 수 있습니다. 또한 OllamaAPI문서에서는 채팅 대화 및 삽입 생성과 같은 기본 명령에 대한 다양한 엔드포인트도 제공합니다.
이 프로젝트에서는/api/chat엔드포인트를 사용하여 AI 모델에 프롬프트를 보내려고 합니다. 아래 이미지는 모델과 상호 작용하기 위한 몇 가지 기본Ruby코드를 보여줍니다.
위Ruby코드 조각의 기능은 다음과 같습니다.
번역자 소개
Julian Chen, 51CTO 커뮤니티 편집자는 10년 이상의 IT 프로젝트 구현 경험을 가지고 있으며, 내부 및 외부 자원과 위험을 통제하는 데 능숙하며 커뮤니케이션에 중점을 둡니다. 네트워크 및 정보 보안 지식과 경험.원제:
Ruby
위 내용은 고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!