역자 | 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 아이콘이 표시됩니다. 이는 백그라운드에서 실행 중이며 모델을 실행할 수 있음을 의미합니다. 모델을 다운로드하려면 터미널을 열고 다음 명령을 실행하면 됩니다.
폴라마를 얻으십시오. https://www.php.cn/link/04c7f37f2420f0532d7f0e062ff2d5b5
링크를 통해 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.”””위에 나타나는 시스템 메시지는 AI의 특정 반응에 대한 기초입니다. 모델. 다음으로 터미널에서 다음 명령을 실행하여 새 모델을 만들 수 있습니다.
ollama create <model-name> -f './Modelfile</model-name>프로젝트의 경우 모델 이름을
Ruby로 지정했습니다.
ollama create ruby -f './Modelfile'동시에 다음 명령을 사용하여 기존 모델을 나열하고 표시할 수 있습니다.
ollama list이제 다음 명령을 사용하여 맞춤형 모델:
Ollama run ruby
Ollama에는 아직 전용 gem이 없지만 Ruby 개발자는 기본 HTTP 요청 방법을 사용하여 모델과 상호 작용할 수 있습니다. 백그라운드에서 실행 중인 Ollama는 11434 포트를 통해 모델을 열 수 있으므로 "https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0"을 통해 액세스할 수 있습니다. 또한 OllamaAPI 문서에서는 채팅 대화 및 삽입 생성과 같은 기본 명령에 대한 다양한 엔드포인트도 제공합니다.
이 프로젝트에서는 /api/chat 엔드포인트를 사용하여 AI 모델에 프롬프트를 보내려고 합니다. 아래 이미지는 모델과 상호 작용하기 위한 몇 가지 기본 Ruby 코드를 보여줍니다.
위 Ruby 코드 조각의 기능은 다음과 같습니다.
번역자 소개
Julian Chen, 51CTO 커뮤니티 편집자는 10년 이상의 IT 프로젝트 구현 경험을 가지고 있으며, 내부 및 외부 자원과 위험을 통제하는 데 능숙하며 커뮤니케이션에 중점을 둡니다. 네트워크 및 정보 보안 지식과 경험.원제:
Ruby
위 내용은 고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!