자신의 PC에서 ChatGPT와 유사한 AI를 실행하는 방법
게시 됨: 2023-04-06챗봇은 지금 대유행이며 모두가 행동의 일부를 원합니다. Google에는 Bard가 있고 Microsoft에는 Bing Chat이 있으며 OpenAI의 ChatGPT는 현재 AI와 사실상 동의어입니다. 하지만 챗봇을 클라우드 서비스에 의존하고 싶지 않다면 어떻게 해야 할까요? 다운로드할 수 있는 ChatGPT와 유사한 AI인 Alpaca가 있습니다.
알파카란?
Alpaca는 ChatGPT와 어떻게 비교됩니까?
알파카를 운영하려면 무엇이 필요합니까?
PC에서 로컬로 Alpaca를 실행하는 방법
Linux 2용 Windows 하위 시스템 설치
도커 설치
Windows에 GIT 설치
Serge 및 Alpaca 설치
서지와 알파카 사용
알파카란?
Alpaca는 ChatGPT와 매우 유사한 언어 모델(기본적으로 챗봇)입니다. 질문에 답하고, 추론하고, 농담을 하고, 우리가 챗봇에서 기대하는 거의 모든 것을 할 수 있습니다. Alpaca는 Facebook의 LLaMA를 미세 조정하여 Stanford 연구원이 만들었습니다.
ChatGPT 및 오늘날 사용 가능한 대부분의 다른 챗봇과 달리 Alpaca는 완전히 자신의 PC에서 실행됩니다. 즉, 아무도 귀하의 대화나 귀하가 Alpaca에게 요청하는 내용을 스누핑할 수 없으며 귀하의 교환이 실수로 유출될 수도 없습니다. 또한 월 사용료를 지불할 필요가 없고, 하드웨어가 있는 경우 필요에 더 잘 맞도록 모델을 추가로 훈련할 수 있으며, 원하는 모든 애플리케이션에 통합할 수 있습니다. 하드웨어와 프로그래밍 기술에 의해서만 제한됩니다.
그러나 대화할 수 있는 일반적인 오래된 챗봇으로도 훌륭하게 작동하며 거의 모든 PC에서 실행하는 방법을 보여 드리겠습니다.
Alpaca는 ChatGPT와 어떻게 비교됩니까?
우리는 그것을 앞장서서 치울 것입니다. ChatGPT, 특히 GPT-4를 실행하는 ChatGPT는 현재 Alpaca보다 더 똑똑하고 빠릅니다.
Alpaca의 속도는 주로 실행 중인 컴퓨터에 의해 제한됩니다. 수많은 코어와 충분한 RAM을 갖춘 엄청나게 빠른 게임용 PC를 사용한다면 좋은 성능을 얻을 수 있습니다. 코어 수가 적은 느린 PC는 응답을 생성하는 데 더 오래 걸립니다. 물론, 이와 관련하여 ChatGPT와 비교하는 것은 정확히 공정하지도 합리적이지도 않습니다. ChatGPT가 어떤 종류의 컴퓨터에서 실행되고 있는지는 알 수 없지만 일반 데스크톱 PC보다 확실히 더 강력합니다.
현재 Alpaca에는 7B, 13B 및 30B의 세 가지 주요 변형이 있습니다. 일반적으로 숫자가 클수록 챗봇이 더 똑똑해집니다.
Alpaca, 특히 7B 모델은 ChatGPT보다 눈에 띄게 "바보"입니다. 그것은 또한 추론하지 않으며 확실히 Turing 테스트를 통과하지 못할 것입니다. 그러나 레시피 제안을 원할 경우 7B는 여전히 좋습니다.
13B 및 30B 모델은 완전히 다른 이야기입니다. 13B는 일관되고 인간과 같은 대화를 제공할 수 있으며 복잡한 질문에 답할 수 있습니다. 30B는 실행할 하드웨어가 있고 ChatGPT와 매우 가까운 거리에 있다면 훨씬 더 인상적입니다. 메시지가 표시되면 비트를 놓치지 않고 철학적으로 왁스를 칠하거나 농담을 할 것입니다.
알파카를 운영하려면 무엇이 필요합니까?
Alpaca는 매우 유연한 시스템 요구 사항을 가지고 있습니다. 이러한 지침은 최소한의 수준 이상이지만 좋은 지침입니다. 우리는 이것을 Windows에도 설치할 것입니다. Linux 또는 macOS를 실행하는 시스템에 이것을 설치하는 경우 Linux용 Windows 하위 시스템 섹션을 건너뛰세요. 관련이 없습니다.
- 16GB RAM
- 32GB가 더 좋으며 30B 모델을 실행하려면 필요합니다.
- 세 가지 모델을 모두 원하는 경우 SSD의 35GB 스토리지.
- 7B 모델의 경우 4GB, 13B 모델의 경우 8GB, 30B 모델의 경우 20GB
- WSL2가 있는 기본 Ubuntu의 경우 500MB
- 다른 종속성 사이에 몇 GB 추가
- 최신 CPU가 이상적입니다.
- 모든 Ryzen CPU
- 7세대 Intel 프로세서 이상
- Linux 2(WSL2)용 Windows 하위 시스템
- 힘내
- 도커
- Alpaca에 멋진 웹 인터페이스를 제공하는 커뮤니티 프로젝트 Serge
경고: 현재 이 특정 프로젝트에 주요 보안 결함이 있거나 악의적이라고 의심할 이유가 없습니다. 우리는 코드를 살펴보고 소프트웨어를 직접 실행했지만 관련 내용을 찾지 못했습니다. 그것은 그것이 안전하거나 안전하다는 것을 의미하지 않습니다. 인터넷에서 찾은 항목에 항상 주의를 기울이고 주기적으로 안전을 재평가하십시오.
PC에서 로컬로 Alpaca를 실행하는 방법
이 단계를 주어진 순서대로 따르는 것이 중요합니다. 그렇지 않으면 Docker가 중단될 수 있으므로 WSL2와 Docker를 모두 완전히 다시 설치해야 합니다.
Linux 2용 Windows 하위 시스템 설치
Microsoft의 WSL2(Linux 2)용 Windows 하위 시스템을 사용하면 Windows에서 Linux 소프트웨어를 실행할 수 있습니다. 오버 헤드가 적고 많은 경우에 정말 편리합니다. Windows용 Docker는 WSL2를 사용하므로 먼저 WSL2를 설치해야 합니다.
참고: WSL2가 이미 설치되어 있는 경우 PowerShell에서 wsl –update를 실행하여 모든 항목이 업데이트되었는지 확인하십시오.
관리자 권한으로 PowerShell 창을 연 다음 다음 명령을 입력합니다.
wsl --install
모든 WSL2 파일과 Ubuntu를 다운로드하는 데 약간의 시간이 걸립니다. 설치가 완료되면 PC를 다시 시작해야 합니다.
재시작이 수행되면 PowerShell을 다시 열고(반드시 관리자 권한이 아님) 다음을 실행합니다.
wsl -l -v
모든 것이 올바르게 작동하면 아래 이미지와 같은 것을 볼 수 있습니다. 특별히 Ubuntu를 설치할 필요도 없습니다. 원하는 배포판을 설치할 수 있습니다. 우분투는 기본값입니다.
도커 설치
Docker는 "컨테이너"에서 프로그램을 실행할 수 있게 해주는 프로그램입니다. 컨테이너는 가상 머신과 비슷하지만 오버헤드가 적고 많은 애플리케이션에서 더 높은 성능을 발휘하는 경향이 있습니다. Serge는 Docker를 사용하여 설치를 매우 편리하게 만듭니다.
관련: Docker는 무엇을 하며 언제 사용해야 합니까?
먼저 Docker 웹사이트에서 Docker 설치 프로그램을 다운로드합니다. Linux 또는 macOS에서 Docker를 실행하려는 경우 적절한 설치 프로그램을 선택해야 합니다.
참고: 헤드리스 Linux 서버를 실행 중인 경우 Linux 배포판에 대한 적절한 지침에 따라 Docker를 실행하는 것이 좋습니다.
설치 프로그램을 실행하고 몇 분 동안 기다릴 준비를 하십시오. Docker는 시간이 좀 걸리고 배후에서 많은 것들을 설정합니다. 완료되면 PC를 다시 시작해야 합니다.
다시 시작한 후 PowerShell을 열고 wsl -l -v
다시 실행합니다. 이번에는 Docker와 관련된 일부 항목도 표시되어야 합니다.
Windows에 GIT 설치
마지막 전제 조건은 Git입니다. Github에서 Serge를 자동으로 다운로드(및 업데이트)하는 데 사용할 것입니다. 항상 ZIP을 다운로드하고 수동으로 추출할 수 있으므로 꼭 필요한 것은 아니지만 Git이 더 좋습니다.
Git 웹 사이트로 이동하여 운영 체제에 맞는 버전을 다운로드하십시오. Windows 사용자는 실행 파일을 실행하기만 하면 됩니다. 모든 옵션을 빠르게 클릭하는 대신 최소한 설치 옵션을 확인하십시오. 아래 스크린샷에 표시된 하나는 절대적으로 중요합니다.
Git 설치가 완료되면 Serge와 Alpaca를 설치할 준비가 된 것입니다.
Serge 및 Alpaca 설치
먼저 Docker Desktop이 실행 중인지 확인합니다. 그런 다음 PowerShell 창을 열고(관리자가 아님) PowerShell 또는 Windows 터미널을 열고 다음 명령을 실행합니다.
git clone https://github.com/nsarrazin/serge.git && cd serge
이렇게 하면 GitHub에서 PC의 폴더로 파일을 다운로드한 다음 활성 디렉터리를 생성된 폴더로 변경합니다.
실행해야 하는 다음 명령은 다음과 같습니다.
cp .env.sample .env
이 줄은 .env.sample의 복사본을 만들고 복사본의 이름을 ".env"로 지정합니다. 이 파일에는 대화를 저장하는 로컬 데이터베이스와 연결할 때 로컬 웹 서버가 사용하는 포트와 관련된 인수가 포함되어 있습니다.
그런 다음 다음을 실행합니다.
docker compose up -d
Docker Compose는 다양한 컨테이너를 하나의 깔끔한 패키지로 묶습니다. 여기에 관련된 내용을 보다 구체적으로 보려면 Serge 폴더의 docker-compose.yml 파일을 확인하십시오.
마지막 명령은 다운로드를 시작하며 여기서 진행하기 전에 선택해야 합니다. 7B, 13B 및 30B의 세 가지 변형을 다운로드할 수 있습니다. 7B는 가장 단순하고 "가장 멍청한" 모델인 반면 30B는 가장 정교하고 스마트합니다. 13B는 중간 지점입니다.
변종 | 다운로드 크기 | 여유 RAM 필요 | Windows에서 권장되는 시스템 RAM | Linux에서 권장되는 시스템 RAM |
7비 | 4GB | 4GB | 16 기가 바이트 | 8GB |
13비 | 8GB | 8GB | 16 기가 바이트 | 16 기가 바이트 |
30비 | 20 | 20GB | 64GB(아마도) | 32GB |
Linux(및 아마도 macOS) 설치는 Windows 설치보다 적은 시스템 RAM으로 벗어날 수 있습니다. Windows는 약간의 RAM 돼지입니다. 가장 덜 까다로운 옵션이므로 먼저 7B 변형으로 시작해야 합니다. 원하는 경우 나중에 언제든지 13B 또는 30B를 다운로드할 수 있습니다.
다음 명령을 실행하여 7B 모델을 다운로드합니다(또는 13B 또는 30B로 대체).
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
특히 30B 변형을 선택하는 경우 기다릴 준비를 하십시오. Huggingface 서버는 초당 약 20MB로 최고인 것 같으므로 최상의 시나리오에서 다운로드되는 기가바이트당 50초를 보게 될 것입니다.
서지와 알파카 사용
이러한 지침을 따랐다면 Docker와 필요한 모든 컨테이너가 현재 실행 중이지만 컴퓨터를 다시 시작하면 다시 켜야 합니다. 그렇게 하려면 Docker Desktop을 열고 작은 삼각형 버튼을 클릭하기만 하면 됩니다. 컨테이너가 실행 중이면 "이름" 열 왼쪽에 있는 아이콘이 녹색으로 바뀝니다.
이 시점에서 모든 것이 설치되고 사용할 준비가 되었습니다. 브라우저를 열고 Facebook이나 다른 웹사이트를 방문하는 것처럼 주소 표시줄에 "localhost:8008"을 입력하세요.
참고: 다른 컴퓨터에서 Alpaca/Serge를 호스팅하는 경우 localhost 대신 해당 장치의 로컬 IP 주소를 입력해야 합니다.
메인 화면 왼쪽에는 이전 대화가 표시되고 가운데에는 새 채팅 설정이 표시됩니다.
사용할 수 있는 설정이 상당히 많지만 실제로 주의를 기울여야 하는 5가지 설정이 있습니다.
- 온도 – AI가 얼마나 자유롭게 응답하는지 결정합니다. 숫자가 낮을수록 답이 더 엄격해지고 숫자가 높을수록 더 창의적입니다.
- 토큰의 최대 생성 텍스트 길이 – 봇이 작성할 수 있는 응답의 길이입니다.
- 모델 선택 – 7B, 13B, 30B 및 설치하는 다른 모델 중에서 선택하십시오.
- n_threads – Serge/Alpaca가 CPU에서 사용할 수 있는 스레드 수입니다. 더 많이 할당하면 성능이 향상됩니다.
- 대화 초기화를 위한 사전 프롬프트 – 대화가 시작되기 전에 챗봇이 응답하는 방식을 편향시키기 위해 컨텍스트를 제공합니다.
이 경우 온도와 스레드를 높이고 13B 모델을 선택하고 챗봇에게 해적이라고 알렸습니다.
다음은 대화가 어떻게 진행되었는지에 대한 샘플입니다.
Alpaca와 함께 원하는 모든 것에 대해 이야기할 수 있으며 데이터에 무슨 일이 일어나고 있는지 걱정할 필요가 없습니다. 그것은 항상 당신의 통제하에 당신의 장치에 남아 있습니다.
ChatGPT, Alpaca 및 기타 챗봇은 신뢰할 수 있는 것처럼 보이지만 현재로서는 그렇지 않습니다. 그것들은 "화려함으로 그들을 현혹시킬 수 없다면, BS로 그들을 당황하게 하라"는 정서를 매우 잘 구현하고 있습니다. 물건을 구성하는 그들의 경향은 "환각"이라고 불립니다. 필수적인 것, 특히 직업이나 건강에 중요한 것이 아닌 것에 대해 그것들에 의존하지 마십시오. 현재로서는 오락이나 실험 목적으로만 사용해야 합니다.
그러나이 기술은 시간이 지남에 따라 더 좋아질 것입니다. Alpaca (또는 다른 로컬에서 실행되는 AI)가 Discord 서버, Minecraft 모드 및 기타 여러 창의적인 응용 프로그램에 통합되는 것을 보기까지는 그리 오래 걸리지 않을 것입니다. 추가 개선을 통해 약한 하드웨어에서 실행할 수 있는 더 빠르고 정확한 모델이 생성됩니다.