>  기사  >  기술 주변기기  >  고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

王林
王林앞으로
2024-03-18 21:40:03515검색

역자 | Chen Jun

Reviewer | Chonglou

최근 맞춤형 인공지능(AI) 프로젝트를 구현했습니다. 당사자 A는 매우 민감한 고객 정보를 보유하고 있으므로 보안상의 이유로 해당 정보를 OpenAI 또는 기타 독점 모델에 전달할 수 없습니다. 따라서 우리는 AWS 가상 머신에서 오픈 소스 AI 모델을 다운로드하고 실행하여 완전히 우리의 통제하에 두었습니다. 동시에 Rails 애플리케이션은 안전한 환경에서 AI에 API 호출을 할 수 있습니다. 물론 보안 문제를 고려할 필요가 없다면 OpenAI와 직접 협력하는 것이 좋습니다.

고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

아래에서는 오픈 소스 AI 모델을 로컬로 다운로드하여 실행하는 방법과 이에 대해 Ruby 스크립트를 실행하는 방법을 공유하겠습니다.

왜 맞춤설정해야 하나요?

이 프로젝트의 동기는 간단합니다: 데이터 보안입니다. 민감한 고객 정보를 처리할 때 가장 신뢰할 수 있는 접근 방식은 일반적으로 회사 내에서 처리하는 것입니다. 따라서 더 높은 수준의 보안 통제와 개인정보 보호를 제공하는 역할을 하려면 맞춤형 AI 모델이 필요합니다.

오픈 소스 모델

지난 6개월 동안 다음과 같은 새로운 제품이 시장에 출시되었습니다. Mistral, Mixtral 그리고 Lamaetc. 다수의 오픈 소스 AI 모델. GPT-4만큼 강력하지는 않지만 대부분의 성능은 GPT-3.5을 초과했으며 시간이 지남에 따라 점점 더 강력해질 것입니다. 물론 어떤 모델을 선택하느냐는 전적으로 처리 능력과 달성해야 할 목표에 따라 달라집니다.

AI 모델을 로컬에서 실행할 예정이므로 약 4GBMistral을 선택했습니다. 대부분의 지표에서 GPT-3.5보다 성능이 뛰어납니다. MixtralMistral보다 성능이 뛰어나긴 하지만 실행하려면 최소 48GB 메모리가 필요한 부피가 큰 모델입니다.

Parameters

대형 언어 모델(LLM)에 관해 이야기할 때 우리는 해당 매개변수 크기를 언급하는 것을 고려하는 경향이 있습니다. 여기서 로컬에서 실행할 Mistral 모델은 70억 개의 매개변수 모델입니다(물론 Mixtral에는 700개의 매개변수가 있고 GPT-3.5 1750십억 매개변수).

일반적으로 대규모 언어 모델은 신경망 기반 기술을 사용합니다. 신경망은 뉴런으로 구성되며, 각 뉴런은 다음 계층의 다른 모든 뉴런과 연결됩니다.

고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

위 그림과 같이 각 연결에는 가중치가 있으며 일반적으로 백분율로 표시됩니다. 각 뉴런에는 또한 노드를 통과할 때 데이터를 수정하는 편향이 있습니다.

신경망의 목적은 고급 알고리즘인 패턴 매칭 알고리즘을 "학습"하는 것입니다. 많은 양의 텍스트에 대한 훈련을 통해 점차적으로 텍스트 패턴을 예측하고 우리가 제공하는 단서에 의미 있게 반응하는 능력을 배울 것입니다. 간단히 말해서, 매개변수는 모델의 가중치와 편향의 수입니다. 이는 신경망에 얼마나 많은 뉴런이 있는지에 대한 아이디어를 제공합니다. 예를 들어,

70억 개의 매개변수 모델에는 약 100개의 레이어가 있으며 각 레이어에는 수천 개의 뉴런이 있습니다. 로컬에서 모델 실행

오픈 소스 모델을 로컬에서 실행하려면 먼저 관련 애플리케이션을 다운로드해야 합니다. 시중에는 다양한 옵션이 있지만 Intel

Mac

에서 실행하기 가장 쉽고 쉬운 옵션은 Ollama입니다.

Ollama

은 현재 MacLinux에서만 실행되지만 앞으로는 Windows에서도 실행될 예정입니다. 물론 Windows에서 WSL(Linux용 Windows 하위 시스템)을 사용하여 Linux 셸을 실행할 수 있습니다.

Ollama 다양한 오픈 소스 모델을 다운로드하고 실행할 수 있을 뿐만 아니라 로컬 포트에서 모델을 열어 Ruby 코드를 통해 API 호출을 할 수 있습니다. 이를 통해 Ruby 개발자가 로컬 모델과 통합할 수 있는 Ruby 애플리케이션을 쉽게 작성할 수 있습니다. Ollama는 주로 명령 줄 기반이므로

폴라마를 얻으십시오. https://www.php.cn/link/04c7f37f2420f0532d7f0e062ff2d5b5

링크를 통해 Ollama를 다운로드하고

5분 정도 시간을 들여 소프트웨어 패키지를 설치한 다음 모델을 실행하면 됩니다. 첫 번째 모델 설치Ollama를 설정하고 실행하면 브라우저 작업 표시줄에 Ollama 아이콘이 표시됩니다. 이는 백그라운드에서 실행 중이며 모델을 실행할 수 있음을 의미합니다. 모델을 다운로드하려면 터미널을 열고 다음 명령을 실행하면 됩니다.

고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

ollama run mistral

Mistral의 크기는 약

4GB

이므로 시간이 좀 걸립니다. 다운로드를 완료하려면 다운로드가 완료되면 Mistral

과 상호 작용하고 통신할 수 있는 Ollama 프롬프트가 자동으로 열립니다.

다음번 Ollama를 통해 mistral을 실행하시면 해당 모델을 직접 실행하실 수 있습니다.

사용자 정의 모델고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

OpenAI에서 사용자 정의 GPT

을 생성하는 방법과 유사하게 Ollama를 통해 기본 모델을 사용자 정의할 수 있습니다. 여기서는 간단하게 사용자 정의 모델을 만들 수 있습니다. 보다 자세한 사례는 Ollama 온라인 문서를 참고하시기 바랍니다.

먼저 Modelfile(모델 파일)을 생성하고 그 안에 다음 텍스트를 추가할 수 있습니다.

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

Ruby

Ollama에는 아직 전용 gem이 없지만 Ruby 개발자는 기본 HTTP 요청 방법을 사용하여 모델과 상호 작용할 수 있습니다. 백그라운드에서 실행 중인 Ollama는 11434 포트를 통해 모델을 열 수 있으므로 "https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0"을 통해 액세스할 수 있습니다. 또한 OllamaAPI 문서에서는 채팅 대화 및 삽입 생성과 같은 기본 명령에 대한 다양한 엔드포인트도 제공합니다.

이 프로젝트에서는 /api/chat 엔드포인트를 사용하여 AI 모델에 프롬프트를 보내려고 합니다. 아래 이미지는 모델과 상호 작용하기 위한 몇 가지 기본 Ruby 코드를 보여줍니다.

고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.

Ruby 코드 조각의 기능은 다음과 같습니다.

  1. 넷 /http", "uri" 및 "json" 세 개의 라이브러리는 각각 HTTP 요청을 실행하고, URI 구문 분석하고 JSON 데이터를 처리합니다.
  2. 엔드포인트 주소가 포함된 만들기(https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0/api/chat) URI 개체입니다.
  3. HTTP POST
  4. 요청을 생성하려면 URI를 매개변수로 사용하여 Net::HTTP::Post.new 메서드를 사용하세요. 요청 본문은 해시 값을 나타내는
  5. JSON
  6. 문자열로 설정됩니다. 해시에는 "모델", "메시지" 및 "스트림"이라는 세 가지 키가 포함되어 있습니다. 그 중
  7. 모델 키는 우리 모델인 "
    ruby
  1. "로 설정되어 있으며, 메시지 키는 단일 배열로 설정되어 있습니다. ​​스트림 키가
  2. false
  3. 로 설정된 동안 해시 값을 나타냅니다.
  4. 시스템은 모델이 정보에 어떻게 반응하는지 안내합니다. 우리는 이미 Modelfile에 설정했습니다. 사용자 정보는 당사의 표준 프롬프트입니다.
  5. 모델이 보조 정보로 응답합니다.
  6. 메시지 해싱은 AI 모델과 교차하는 패턴을 따릅니다. 캐릭터와 콘텐츠가 함께 제공됩니다. 여기서 역할은 시스템, 사용자 및 보조일 수 있습니다. 그 중
  7. HTTP
    요청은
  1. Net::HTTP.start 메서드를 사용하여 전송됩니다. 이 메서드는 지정된 호스트 이름과 포트에 대한 네트워크 연결을 연 다음 요청을 보냅니다. 연결의 읽기 시간 제한은
  2. 120
  3. 초로 설정되어 있습니다. 결국 저는 2019 IntelMac을 실행 중이므로 응답이 약간 느릴 수 있습니다. 해당 AWS 서버에서 실행할 때는 문제가 되지 않습니다. 서버의 응답은 "response" 변수에 저장됩니다.
  4. 사례 요약위에서 언급한 것처럼 로컬 AI 모델 실행의 실제 가치는 기업이 민감한 데이터를 보유하고 이메일이나 문서와 같은 비정형 데이터를 처리하고 가치 있는 정형 정보를 추출하도록 지원하는 것입니다. . 우리가 참여한 프로젝트 사례에서는 고객관계관리(
CRM

) 시스템의 모든 고객 정보에 대한 모델 교육을 실시했습니다. 이를 통해 사용자는 수백 개의 기록을 살펴볼 필요 없이 고객에 대해 궁금한 사항을 질문할 수 있습니다.

번역자 소개

Julian Chen, 51CTO 커뮤니티 편집자는 10년 이상의 IT 프로젝트 구현 경험을 가지고 있으며, 내부 및 외부 자원과 위험을 통제하는 데 능숙하며 커뮤니케이션에 중점을 둡니다. 네트워크 및 정보 보안 지식과 경험.

원제:

Ruby

를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하는 방법, 저자: Kane Hooper

위 내용은 고객 개인 정보를 보호하려면 Ruby를 사용하여 로컬에서 오픈 소스 AI 모델을 실행하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제