[RPM] $2000 EPYC 서버에서 로컬로 Deepseek R1 671b 대형 모델 실행하기

AI 뉴스7개월 전 업데이트 AI 공유 서클
9.9K 00
[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

 

로컬 Deepseek AI 추론 서버 구축하기

먼저 좋은 소식입니다! 디지털 스페이스포트는 이전 리뷰에 사용했던 AMD EPYC 로마 플랫폼으로 훌륭한 성능을 얻었습니다 :😁: 이 설정은 고전적입니다! 이 설정을 사용하시는 분들께 좋은 소식이 있습니다. 전체 Q4 671b 모델에서 초당 4.25 ~ 3.5개의 PC를 실행하고 있습니다! 토큰 (TPS). 이는 "라이트" 모델은 전혀 같은 리그에 속하지 않기 때문에 중요합니다. 성능이 거의 비슷하지 않으며 다른 모델이 쉽게 성능을 뛰어넘을 수 있습니다. 정말 큰 모델 경험을 얻으려면 가급적 큰 컨텍스트 창(16K 이상)이 있는 전체 모델을 사용하세요. 전체 모델은 CPU에서만 실행해도 괜찮으므로 이미지 인식 모델과 같은 일부 작은 모델을 GPU에서 실행하는 동안 전체 모델을 실행 상태로 둘 수 있습니다. 다시 말하지만, 아주 멋진 장비가 아니라면 GPU 메모리만으로는 정식 버전을 실행할 수 없습니다! Deepseek 디지털 스페이스포트는 실행을 위한 모든 종류의 트릭을 알려드립니다. "쉬운" 것은 아니지만 기술을 만지작거리는 것을 좋아한다면 재미있을 것입니다.

정정 (2024/02/01)

  • 유휴 전력 소비: 60W(디지털 스페이스포트 예상보다 낮으며, GPU를 연결하지 않은 상태)
  • 최대 부하 전력 소비: 260W
  • 디지털 스페이스포트 현재 메모리 주파수: 2400MHz(3200MHz가 더 좋을 수 있음)

 

로컬 AI 서버 CPU 하드웨어

이전에 Digital Spaceport의 쿼드 3090 그래픽 서버 구성 가이드를 본 적이 있다면 운이 좋으십니다. 그 EPYC 7702 CPU는 오늘날에도 여전히 이길 수 있으며, 현재 가격은 거의 같고 성능은 크게 향상되었으므로 디지털 스페이스포트는 더 나은 CPU를 권장합니다. 하지만 이 글의 결과는 Digital Spaceport의 자체 7702 CPU로 실행되었으며, MZ32-AR0 마더보드는 전체 3200MHz 주파수에서 작동하는 16개의 메모리 슬롯이 있어 512GB에서 1TB 사이의 메모리 비용을 절감할 수 있기 때문에 당시에는 좋은 추천 제품이었다. 디지털 스페이스포트는 2400MHz DDR4 메모리 스틱을 사용하고 있지만, 3200MHz DDR4 ECC 메모리 스틱을 사용하면 성능을 높일 수 있습니다. 32GB 스틱 16개를 사용하면 512GB, 64GB 스틱 16개를 사용하면 1TB의 메모리를 사용할 수 있습니다.참고: LRDIMM과 RDIMM 메모리 스틱은 혼용할 수 없습니다! (LRDIMM과 RDIMM은 서로 다른 두 가지 유형의 서버 메모리 스틱이므로 혼합해서는 안 되며, 그렇지 않으면 컴퓨터가 부팅되지 않을 수 있습니다.)

로컬 AI 서버 릭 컴포넌트 목록

  • 랙 $55
  • MZ32-AR0 메인 보드 $500
  • CPU 수냉식 420mm Corsair h170i 엘리트 카펠릭스 XT $170
  • EPYC CPU 워터쿨러 헤더 브래킷
  • 64코어 AMD EPYC 7702 $650 또는 64코어 AMD EPYC 7V13 $599 또는 64코어 AMD EPYC 7C13 $735
  • 512GB 2400 ECC 메모리 $400
  • 1TB NVMe SSD - 삼성 980 Pro $75
  • 850W 전원 공급 장치 $80(CPU 추론만 사용하는 경우 850W면 충분합니다. GPU 사용 시에는 1500W 또는 1600W 전원 공급 장치를 사용하는 것이 좋습니다.)

(가격은 2025년 1월 29일 기준입니다.)
총 비용: 약 $2,000* 512GB의 2400 RAM과 EPYC 7702 CPU를 사용하는 경우, 메모리 주파수를 업그레이드하는 대신 7C13 또는 7V13 CPU를 구입하는 것이 좋습니다. 768GB 램으로 업그레이드하는 것이 두 번째 선택이며, 3200MHz 램은 마지막에 고려해야 할 사항입니다. 최고급 CPU(7C13 또는 7V13)와 1TB의 2400MHz RAM을 사용하면 총 가격은 약 $2500입니다. **.

리그 랙 어셈블리

조립 과정은 이전 동영상과 동일하며, 여전히 GPU와 확장 카드가 없습니다. 나중에 GPU를 추가할 경우 Digital Spaceport는 처음부터 1500W 또는 1600W 전원 공급 장치를 사용할 것을 권장합니다. GPU와 확장 카드를 추가한 후에도 나머지 장치는 동일하게 유지됩니다. 이 동영상을 보고 조립 방법을 배울 수 있습니다. (이는 위에서 언급한 쿼드 3090 그래픽 서버 구성 동영상을 참조하세요.) 동영상에서 GPU에 대한 부분은 무시하고 다른 모든 단계는 동일합니다.

 

또한 지퍼 타이로 묶은 작은 팬을 벽에 설치하여 메모리 스틱에 바람을 불어넣어 열을 발산하는 것도 좋습니다. 메모리 스틱이 너무 뜨거워지면 과열 보호 기능이 작동하여 성능이 저하되고 데이터 처리 속도에 영향을 미치며, Digital Spaceport는 4개의 소형 80mm 팬을 사용합니다. (팬 월이란 여러 개의 팬이 나란히 장착되어 공기 벽을 형성하여 더 큰 냉각 용량을 제공하는 것을 의미합니다.)

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

마더보드 업그레이드 팁

AMD EPYC 7V13 CPU를 사용하려면 V1을 구입한 후 업그레이드하는 대신 V3 버전의 MZ32-AR0 메인보드를 직접 구입하는 것이 좋습니다. V1 버전은 출고 시부터 밀라노 아키텍처 CPU를 지원하지 않을 수 있으며 V3 버전을 사용해야 하므로 먼저 V2 버전의 CPU로 메인보드 BIOS를 업그레이드해야 할 수도 있습니다.BIOS는 컴퓨터 마더보드의 '영혼'에 해당하는 것으로 하드웨어 시작 및 작동을 제어하며, BIOS를 업그레이드하면 마더보드가 최신 하드웨어를 지원할 수 있습니다.) V1 버전이 Milan CPU를 지원하지 않는지 확실하게 말할 수는 없지만, Digital Spaceport는 그럴 가능성이 매우 높다고 생각합니다. 디지털 스페이스포트의 경험에 따르면, BIOS 업데이트를 플래시하여 V1 마더보드를 최신 V3 버전으로 업그레이드할 수 있습니다. 먼저 이전 버전의 V3 BIOS를 플래시한 다음 최신 V3 BIOS를 플래시해야 합니다. 최신 BIOS 버전은 M23_R40입니다(작성 시점의 데이터).

 

로컬 AI 자체 호스팅 소프트웨어 설정

소프트웨어 설정의 이 부분은 디지털 스페이스포트의 이전 튜토리얼보다 약간 더 복잡합니다. 예, 베어본 Proxmox 시스템에 Ollama를 직접 설치할 수 있습니다.Proxmox는 단일 물리적 서버에서 여러 가상 머신을 실행할 수 있는 서버 가상화 관리 소프트웨어입니다.) 그러나 디지털 스페이스포트는 이 작업을 수행하지 않는 것이 가장 좋다고 제안합니다. 이제 두 가지 옵션이 있으며 그 중 하나에 대해 먼저 설명하겠습니다. 다른 옵션을 권장할지 여부를 결정하기 전에 성능에 미치는 영향을 테스트해야 합니다. 다른 옵션은 독립형 LXC 컨테이너 또는 가상 머신(VM)에서 Ollama를 실행하는 것입니다.LXC 컨테이너와 VM은 모두 소프트웨어가 실행되는 환경을 격리하는 가상화 기술입니다.이전에 디지털 스페이스포트의 LXC 및 Docker 튜토리얼을 본 적이 있다면 계속 사용할 수 있지만, 현재로서는 가상 머신(VM)에 설치하는 것이 가장 좋다고 디지털 스페이스포트는 제안합니다. 디지털 스페이스포트는 작은 AI 서버에서 모든 것이 행복하게 자급자족할 수 있도록 보다 통합된 솔루션을 개발하기 위해 노력할 것이지만 시간이 걸릴 것입니다.

베어메탈 우분투 24.04 또는 Proxmox VM?

처음부터 새로 설치해야 하는 불필요한 번거로움을 최소화하려면 베어메탈 Ubuntu 24.04 서버에 설치하세요. 또는 이전 Proxmox 튜토리얼을 참조할 수도 있습니다. (이전에 게시된 디지털 스페이스포트의 Proxmox 설치 튜토리얼을 참조하세요.) 어떤 작업을 수행할지 결정하는 것은 사용자의 책임입니다. 원한다면 데스크톱 환경을 설치할 수도 있지만, 꼭 필요한 것은 아니며 Digital Spaceport에서는 이를 시연하지 않습니다. 저희는 서버에서 서비스를 실행하므로 명령줄 인터페이스(CLI)를 두려워하지 마세요.

MZ32-AR0 마더보드의 BMC 설정하기

MZ32-AR0 마더보드의 이더넷 및 BMC 포트를 네트워크 케이블에 연결합니다. (BMC(베이스보드 관리 컨트롤러) 서버 하드웨어를 원격으로 관리할 수 있는 베이스보드 관리 컨트롤러) 방화벽 라우터(예: opnsense 또는 pfsense)를 사용하는 경우 라우터의 ARP 목록에서 BMC의 포트가 표시되는지 확인할 수 있습니다. BMC의 IP 주소를 찾습니다. 디지털 스페이스포트의 경우 BMC 주소는 https://192.168.1.XX. 브라우저에서 이 주소를 열면 사용자 아이디와 비밀번호 로그인 상자가 나타납니다. 기본 사용자 이름은 admin이고 비밀번호는 마더보드의 스티커에 있는 MZ32-AR0 로고 아래에 있습니다. 디지털 스페이스포트 마더보드의 스티커는 사진에 나와 있습니다. 바코드가 있는 스티커입니다. 비밀번호는 아마도 "3/C/"의 처음 3자를 제거한 다음 다음 6자 또는 11자를 제거한 초기 비밀번호일 것입니다. BMC 관리 인터페이스에 성공적으로 로그인했으면 다음으로 이동합니다.

홈 > 설정 > 네트워크 > 네트워크 IP 설정

마더보드의 고정 IP 주소를 설정합니다. 로컬 DNS 및 NTP 서버를 사용하는 경우 해당 서버도 설정합니다. (도메인 이름 확인을 위한 DNS 서버 및 시간 동기화를 위한 NTP 서버BMC 관리 인터페이스는 앞으로 많이 사용하게 될 것이므로 북마크에 추가해 두는 것이 좋습니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

다음으로 사이드바에서 "원격 제어"를 클릭합니다. 페이지에 "HTML5 뷰어" 옵션이 표시됩니다. 페이지에 "HTML5 뷰어" 옵션이 표시됩니다. 나중에 시스템을 설치하기 위해 네트워크를 통해 Ubuntu 24.04 시스템의 2.5GB ISO 이미지를 업로드할 것이므로 유선 연결을 사용할 것을 권장합니다. (ISO 이미지 파일은 디스크 또는 하드 드라이브의 전체 백업입니다.) Ubuntu 웹사이트로 이동하여 다운로드하세요. 우분투 24.04 서버 버전용 ISO 이미지The 크기는 약 2.5GB입니다. BMC 관리자 인터페이스의 HTML5 뷰어에서 오른쪽 상단을 클릭하고 이 ISO 이미지를 로드합니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

로딩이 완료되면 '시작(시작)'을 탭합니다. 아직 서버를 켜지 않았다면 지금 바로 켜세요. 전원이 켜지면 HTML5 뷰어 인터페이스에 업로드 진행률이 표시되기 시작하고 숫자가 서서히 증가합니다. "화면" 창을 마우스로 클릭하고 Gigabyte 부팅 лого가 나타날 때까지 기다립니다. лого가 표시되면 키보드에서 DEL을 눌러 BIOS 설정으로 들어갑니다. BIOS에서 기본값을 로드한 다음 저장하고 재부팅합니다. 컴퓨터가 재부팅된 후 다시 BIOS에 들어가서 이번에는 몇 가지 설정을 변경합니다. 먼저 부팅 디스크를 설정합니다. 부팅 모드는 UEFI 또는 레거시 중 하나를 선택할 수 있으며, 이는 번거롭지 않고 문제가 발생할 가능성이 적습니다. (UEFI와 레거시는 서로 다른 두 가지 BIOS 부팅 모드이며, UEFI가 더 최신의 고급 모드입니다.)

다음은 찾아서 수정해야 하는 BIOS 설정 항목입니다:

  • NPS가 1로 설정되어 있습니다(NPS(소켓당 노드 수) 소켓당 노드 수, CPU 메모리 액세스 모드에 영향을 줍니다.)
  • CCD를 자동으로 설정(CCD(코어 컴플렉스 다이) CPU 코어 컴플렉스, AMD CPU의 모듈식 설계)
  • SMT 꺼짐(보다 안정적인 싱글 코어 성능을 위해 AMD의 하이퍼스레딩 버전인 SMT(동시 멀티스레딩)가 꺼져 있습니다.)
  • SVM 끄기(Proxmox VM을 사용하는 경우 켜기 가능, 성능이 약간 저하됨)(SVM(보안 가상 머신) 보안 가상 머신 모드, 가상화 기술 하드웨어 가속)
  • IOMMU 끄기(Proxmox VM을 사용하는 경우 켜기 가능, 성능이 약간 저하됨)(IOMMU(입출력 메모리 관리 장치) 입출력 메모리 관리 장치, 가상화 기술로 가속화된 하드웨어)
  • cTDP가 200W로 조정됨(EPYC 7702 CPU의 경우)(cTDP(구성 가능한 TDP) CPU 전력 및 성능 조정을 위한 구성 가능한 TDP)
  • 결정론적 제어를 수동으로 설정하고 슬라이더를 성능으로 당깁니다.
  • 성능에 맞춘 빠른 전원 정책 설정
  • BoostFMax가 수동으로 설정되어 있습니다(BoostFMax CPU 가속 주파수 제한 설정)
  • boostFmax가 3400으로 설정되어 있습니다(EPYC 7702 CPU의 경우).CPU 가속 주파수의 상한을 3.4GHz로 설정합니다.)

위의 BIOS 설정을 수정한 후 저장하고 다시 재부팅합니다. 재부팅할 때 F12/11/10(디지털 스페이스포트에서는 어떤 키인지 기억나지 않으므로 부팅 페이지 하단에 표시됨)을 눌러 부팅 메뉴로 들어갑니다. 가상 CD-ROM 드라이브에서 부팅하려면 'AMI 가상 CD' 옵션을 선택합니다. 유선 인터넷에 연결되어 있다면 곧바로 우분투 설치 화면에 액세스할 수 있습니다. 우분투 설치 과정의 다음 단계는 우분투 시스템을 설정하는 것입니다. 사용자 이름과 비밀번호를 설정하고 기억해 두세요. 설치가 완료된 후 원격으로 쉽게 로그인할 수 있도록 "설정 ssh 서버" 옵션을 선택합니다. (SSH(Secure Shell) 서버의 원격 로그인 및 관리를 위한 보안 셸 프로토콜) 시스템 설치가 완료될 때까지 기다립니다. 설치가 완료되면 시스템이 재부팅되고 계속하려면 Enter 키를 누르라는 메시지가 표시됩니다. Enter 키를 누르면 시스템이 다시 재부팅된 후 명령줄 터미널에 들어가 사용자 아이디를 입력하라는 메시지가 표시됩니다. 로그인할 때 설정한 사용자 아이디와 비밀번호를 입력합니다. 로그인에 성공하면 다음 명령을 입력합니다.

ip a

표시된 IP 주소를 기억하세요. 이제 Windows/macOS/Linux 컴퓨터로 돌아가 BMC 관리 인터페이스에서 HTML5 뷰어 창을 닫을 수 있습니다. 컴퓨터의 터미널 소프트웨어에서 다음을 입력합니다. username 사용자 아이디, 즉 ipaddress 방금 기억한 IP 주소로 바꿉니다).

ssh username@ipaddress

일반적으로 사용되는 소프트웨어 설치

다음은 명령어의 큰 목록이며, 터미널에 복사하여 붙여넣고 실행하기만 하면 됩니다. GPU 관련 단계는 생략했으며, NVIDIA 그래픽 카드가 있는 경우 다음 단계를 완료한 후 드라이버를 설치할 수 있습니다.

sudo apt update && sudo apt upgrade -y && sudo apt install -y htop git glances nano lsof unzip
  • sudo apt update최신 패키지를 다운로드할 수 있도록 소프트웨어 소스 목록을 업데이트합니다.
  • sudo apt upgrade -y설치된 모든 패키지를 최신 버전으로 업그레이드합니다.-y 매개변수는 모든 작업이 자동으로 확인됨을 나타냅니다.
  • sudo apt install -y htop git glances nano lsof unzip일반적인 Linux 소프트웨어를 설치합니다.
    • htop시스템 리소스 사용량을 실시간으로 확인할 수 있는 보다 사용자 친화적인 프로세스 관리자입니다.
    • git코드 다운로드 및 관리를 위한 코드 버전 관리 도구.
    • glances보다 더 강력한 시스템 모니터링 도구 htop 더 풍부한 기능.
    • nano구성 파일 편집을 위한 사용하기 쉬운 텍스트 편집기.
    • lsof포트 점유와 같은 문제를 해결하는 데 사용할 수 있는 열린 파일을 보기 위한 도구입니다.
    • unzipZIP 파일의 압축을 푸는 도구.

고정 IP 주소 설정

명령줄 터미널에 입력합니다:

sudo netplan generate

이 명령은 기본 네트워크 구성 파일을 생성합니다. 그런 다음 nano 편집기에서 구성 파일이 열립니다:

sudo nano /etc/netplan/50-cloud-init.yaml

기본 구성 파일의 내용은 대략 다음과 같습니다. 이 파일을 수정하려면 eno1 네트워크 카드의 구성.eno1 마더보드의 물리적 네트워크 포트에 해당합니다. 무시 enp65s0np0외부 네트워크 카드입니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

키보드 화살표 키를 사용하여 커서를 이동하여 구성 파일을 다음과 같이 변경합니다. 작동하기 쉽고 복잡하지 않게 하려면 현재 IP 주소를 IP 주소로 사용합니다. 디지털 스페이스포트는 여기에서 고정 IP를 다음과 같이 설정합니다. 192.168.1.200라우터 게이트웨이는 192.168.1.1이것은 매우 일반적인 홈 네트워크 구성입니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

수정이 완료되면 Ctrl+X 중단 nano 편집기에서 저장할지 묻는 메시지가 나타나면 Y 키를 눌러 확인합니다.

터미널로 돌아왔을 때 명령을 입력하여 새 네트워크 구성을 적용합니다:

sudo netplan apply

이제 서버가 고정 IP 주소로 설정되었습니다. 서버를 재부팅하고 SSH를 사용하여 원격으로 로그인하여 고정 IP 설정이 적용되었는지 확인할 수 있습니다.

올라마 설치

다음 설치 Ollama 대형 모델 실행 프레임워크.

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
  • curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgzOllama 설치 패키지를 다운로드합니다.curl 는 명령줄 다운로드 도구입니다.-L 매개변수는 팔로우 리디렉션 링크를 나타냅니다.-o 매개변수는 저장할 파일의 이름을 지정합니다.
  • sudo tar -C /usr -xzf ollama-linux-amd64.tgzOllama 설치 패키지를 다음 위치에 압축을 풉니다. /usr 카탈로그.tar 는 Linux 시스템에서 널리 사용되는 압축/압축 해제 도구입니다.-C /usr 압축 해제 디렉터리를 다음과 같이 지정합니다. /usr(수학.) 속-xzf 매개변수를 사용하여 gzip으로 압축된 타르 파일의 압축을 해제합니다.
  • sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama라는 파일을 만듭니다. ollama 시스템 사용자로 설정하여 Ollama 서비스를 실행하세요.
    • sudo useradd: 사용자를 만드는 명령입니다.
    • -r시스템 사용자를 만들면 UID와 GID가 자동으로 할당됩니다.
    • -s /bin/false사용자가 시스템에 로그인하는 것을 금지합니다.
    • -U같은 이름의 사용자 그룹을 만듭니다.
    • -m: 사용자 홈 디렉토리를 자동으로 생성합니다.
    • -d /usr/share/ollama사용자의 홈 디렉터리를 다음과 같이 지정합니다. /usr/share/ollama.
    • ollama: 사용자 이름.
  • sudo usermod -a -G ollama $(whoami)현재 사용자를 ollama 사용자 그룹.
    • sudo usermod사용자 정보를 수정하는 명령입니다.
    • -a: 재정의 대신 사용자 그룹에 추가합니다.
    • -G ollama다음에 추가 ollama 사용자 그룹.
    • $(whoami): 현재 사용자 이름을 가져옵니다.

이 명령은 다음과 같은 파일도 만듭니다. ollama 사용자를 클릭하고 /usr/share/ollama 디렉토리에 저장합니다. 기본적으로 모델 파일은 /usr/share/ollama/.ollama/models/ 카탈로그.

환경 변수 및 서비스 구성

이제 올라마가 시작될 때 사용할 몇 가지 환경 변수를 설정해야 합니다. 이는 병렬 처리 문제를 해결하는 데 매우 중요합니다.

sudo nano /etc/systemd/system/ollama.service

비용 또는 지출 nano 에디터가 Ollama의 systemd 서비스 구성 파일을 엽니다. 구성 파일에 환경 변수를 추가해야 합니다. 아래는 구성할 수 있는 모든 환경 변수 목록이며, 모든 변수를 사용할 필요는 없고 참고용으로만 나열되어 있습니다.

환경 변수:

  • -OLLAMA_DEBUG: 더 많은 디버깅 정보를 표시합니다(예 OLLAMA_DEBUG=1)
  • -OLLAMA_HOST: 올라마 서버가 수신 대기하는 IP 주소(기본값) 127.0.0.1:11434)
  • -OLLAMA_KEEP_ALIVE모델이 메모리에 로드된 상태로 유지되는 기간 (기본값 "5m"(5분)
  • -OLLAMA_MAX_LOADED_MODELSGPU당 로드할 수 있는 최대 모델 수 : 최대 모델 수
  • -OLLAMA_MAX_QUEUE요청 대기열의 최대 길이
  • -OLLAMA_MODELS모델 파일이 저장된 디렉토리
  • -OLLAMA_NUM_PARALLEL최대 병렬 요청 수
  • -OLLAMA_NOPRUNE시작 시 모델 캐시 정리 없음
  • -OLLAMA_ORIGINS쉼표로 구분된 소스 목록으로 도메인 간 요청을 허용합니다.
  • -OLLAMA_SCHED_SPREAD모든 GPU에 모델을 균등하게 분배할지 여부
  • -OLLAMA_FLASH_ATTENTION플래시 어텐션 가속 활성화 여부(플래시 어텐션은 최적화 트랜스포머 계산 효율성 모델링 기법)
  • -OLLAMA_KV_CACHE_TYPE: K/V 캐시의 양자화 유형(기본값) f16) (K/V 캐시는 추론을 가속화하는 데 사용되는 Transformer 모델의 핵심 구성 요소이며, 양자화는 메모리 사용량을 줄이지만 정확도를 떨어뜨릴 수 있습니다.)
  • -OLLAMA_LLM_LIBRARY자동 감지를 우회할 LLM 라이브러리 지정(LLM 라이브러리는 다음과 같은 대규모 모델을 실행하는 데 사용되는 기본 계산 라이브러리입니다. llama.cppexllama 외(및 기타 저자))
  • -OLLAMA_GPU_OVERHEAD: GPU당 예약된 메모리 공간(바이트)
  • -OLLAMA_LOAD_TIMEOUT모델 로드 시간 초과(기본값) "5m"(5분)

디지털 스페이스포트의 구성 파일 내용은 다음과 같습니다. 참고: GPU 카드가 없는 경우 GPU 관련 환경 변수를 입력할 필요도 없고, 입력해서도 안 됩니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

를 누릅니다. Ctrl+X을 누른 다음 Y 구성 파일을 저장합니다. 그런 다음 다음 명령을 실행합니다:

sudo systemctl daemon-reload
sudo systemctl start ollama
nproc
  • sudo systemctl daemon-reload시스템 서비스 구성 파일을 다시 로드하여 변경 사항을 적용합니다.
  • sudo systemctl start ollama: 시작 ollama.service 서비스인 올라마 빅 모델 프레임워크입니다.
  • nproc: CPU 코어 수를 확인합니다.

이제 환경 변수가 구성되었습니다. nproc 명령은 다음과 같은 숫자를 출력해야 합니다. 64출력이 전체 CPU 코어가 아닌 경우 64개의 CPU 코어가 있다는 뜻입니다. 출력이 128즉, SMT 하이퍼스레딩이 꺼져 있지 않으므로 BIOS에서 이를 꺼야 합니다. 출력 32 어쩌면 96출력이 출력과 같은 상태가 아닌 경우 BIOS에서 NPS 및 CCD 설정을 확인하세요. 출력 64CPU 코어 수가 정확하면 다음 단계(LFG = Let's Fucking Go)로 진행할 수 있습니다.

Deepseek 671b 모델 다운로드

이제 Deepseek 671b 대용량 모델을 다운로드하세요. 이 모델은 약 400GB의 디스크 공간을 차지하므로 NVMe SSD가 충분히 크시길 바랍니다.

ollama pull deepseek-r1:671b
  • ollama pull deepseek-r1:671bOllama 클라이언트를 사용하여 다운로드 deepseek-r1:671b 모델.pull 명령을 사용하여 모델을 다운로드합니다.deepseek-r1:671b 는 모델 이름과 버전입니다.

다운로드 속도가 느릴 수 있으니 조금만 기다려주세요. 엄청난 데이터 트래픽 비용에 대해 한탄하시겠지만... (대용량 모델을 다운로드하면 특히 해외 서버에서 많은 네트워크 트래픽이 소비되며 트래픽 비용이 많이 발생할 수 있습니다.)

OpenWEBUI 설치

OpenWEBUI를 실행하려면 도커 또는 파이썬을 사용해야 합니다. 여기서는 디지털 스페이스포트에서 도커를 사용하여 배포합니다. 충돌을 피하기 위해 시스템에 다른 Docker 관련 소프트웨어가 설치되어 있지 않은지 확인하세요.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done충돌을 피하기 위해 설치되어 있을 수 있는 Docker 관련 패키지를 제거합니다.
    • for pkg in ... ; do ... ; done패키지 목록을 반복하는 for 루프 문입니다.
    • docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc설치할 수 있는 Docker 관련 패키지 목록입니다.
    • sudo apt-get remove $pkg: 패키지를 제거합니다.apt-get remove 는 데비안/우분투 시스템에서 패키지를 제거하는 명령어입니다.$pkg 는 현재 트래버스 중인 패키지의 이름을 나타내는 루프 변수입니다.

공식 Docker 소스를 설치합니다:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  • 이 명령은 최신 버전의 Docker를 쉽게 설치할 수 있도록 공식 Docker 리포지토리를 추가하는 데 사용됩니다.
    • 첫 번째 부분은 패키지의 무결성과 출처를 확인하는 데 사용되는 공식 Docker GPG 키를 추가합니다.
    • 두 번째 파트에서는 APT(고급 패키지 도구) 소스 목록에 Docker 소스를 추가합니다.
    • 궁극 sudo apt-get update 소프트웨어 소스 목록을 업데이트하여 새로 추가된 Docker 소스를 사용하도록 설정합니다.

Docker 엔진을 설치합니다:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  • sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y: Docker 엔진 및 관련 구성 요소를 설치합니다.
    • docker-ceDocker 커뮤니티 에디션 엔진.
    • docker-ce-cli: Docker 명령줄 클라이언트.
    • containerd.io컨테이너 런타임 시 Docker의 기본 종속성.
    • docker-buildx-plugin멀티 아키텍처 Docker 이미지 빌드를 위한 Docker Buildx 플러그인.
    • docker-compose-plugin: 멀티 컨테이너 Docker 애플리케이션을 관리하기 위한 Docker Compose 플러그인.
    • -y: 모든 작업을 자동으로 확인합니다.

Dockge Docker 컨테이너 관리자를 설치합니다.

Dockge의 데이터 디렉토리는 기본적으로 /opt/dockge 디렉토리에 있으며, 도커 관련 데이터는 또한 /opt 카탈로그는 관리하기 쉽습니다.

sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml
docker compose up -d
  • sudo mkdir -p /opt/stacks /opt/dockge카탈로그 만들기 /opt/stacks 노래로 응답 /opt/dockgeDockge 관련 파일을 저장하는 데 사용됩니다.-p 매개변수는 상위 디렉터리가 존재하지 않으면 상위 디렉터리도 생성됨을 의미합니다.
  • cd /opt/dockge현재 작업 디렉터리를 /opt/dockge.
  • sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml: Dockge의 다운로드 compose.yaml 문서화.compose.yaml 는 Docker 컨테이너의 구성을 정의하는 Docker Compose용 구성 파일입니다.
  • docker compose up -dDocker Compose를 사용하여 Dockge 컨테이너를 시작합니다.up 명령을 사용하여 컨테이너를 시작합니다.-d 매개변수는 백그라운드 작업을 나타냅니다.

이제 브라우저를 통해 Dockge 관리 인터페이스에 액세스하여 나머지 Docker 컨테이너 관리 단계를 완료할 수 있습니다. 서버의 IP 주소를 모르는 경우 서버의 네트워크 설정에서 확인할 수 있습니다. 브라우저 액세스 주소는 다음과 같습니다. http://服务器IP:5001예를 들어 디지털 스페이스포트의 서버 IP는 디지털 스페이스포트의 서버 IP와 동일합니다. 예를 들어 디지털 스페이스포트의 서버 IP는 다음과 같습니다. 192.168.1.200그러면 액세스 주소는 http://192.168.1.200:5001. 처음 방문하면 사용자 아이디와 비밀번호를 설정해야 하므로 기억해 두세요. 다음 단계는 OpenwebUI 를 지금 실행하세요.

다음을 Dockge의 작성 편집기에 OpenwebUI용 작성 구성으로 붙여넣습니다:

version: “3.3”
services:
open-webui:
ports:
– 7000:8080
volumes:
– open-webui:/app/backend/data
container_name: open-webui
restart: always
image: ghcr.io/open-webui/open-webui:latest
volumes:
open-webui: {}
networks:
dockge_default:
external: true
  • 이 작성 구성은 다음과 같은 파일을 정의합니다. open-webui OpenWEBUI를 실행하기 위한 Docker 컨테이너.
    • version: "3.3"Docker Compose 파일 버전.
    • services: 서비스 목록을 정의합니다.
      • open-webui서비스 이름.
        • ports포트 매핑, 컨테이너의 포트 8080을 호스트의 포트 7000에 매핑합니다.
        • volumes데이터 볼륨은 호스트의 open-webui 볼륨은 컨테이너의 /app/backend/data 디렉토리에 OpenWEBUI 데이터를 영구적으로 저장합니다.
        • container_name: 컨테이너 이름, 다음으로 설정 open-webui.
        • restart: always컨테이너는 항상 자동으로 다시 시작됩니다.
        • image: ghcr.io/open-webui/open-webui:latest: 사용된 도커 이미지입니다.ghcr.io/open-webui/open-webui:latest 는 OpenWEBUI용 최신 도커 이미지입니다.
    • volumes: 데이터 볼륨을 정의합니다.
      • open-webui: {}라는 파일을 만듭니다. open-webui 의 데이터 볼륨을 차지합니다.
    • networks: 네트워크 정의.
      • dockge_default네트워크 이름.
        • external: true외부 네트워크 사용 dockge_default기본적으로 Dockge는 다음과 같은 파일을 만듭니다. dockge_default 네트워크의

"저장"과 "실행"을 클릭합니다. 첫 번째 실행은 Docker 이미지를 다운로드해야 하므로 속도가 느립니다. 나중에 OpenWEBUI 이미지를 업데이트하려면 Dockge 인터페이스에서 "업데이트" 버튼을 클릭하기만 하면 됩니다. 컨테이너가 시작되면 http://服务器IP:7000 OpenWEBUI 인터페이스를 열 수 있습니다. 예를 들어 디지털 스페이스포트의 서버 IP는 다음과 같습니다. 192.168.1.200그러면 액세스 주소는 http://192.168.1.200:7000. 처음 방문하면 사용자 이름과 비밀번호를 설정해야 하는데, 이 역시 기억해 두는 것이 중요합니다. 사용자 이름과 비밀번호를 지금 바로 거의 완성되었습니다! 휴!휴!)

OpenWEBUI를 Ollama에 연결하기

OpenWEBUI 관리 인터페이스의 "/admin/settings" -> "연결" 페이지에서 "+" 기호를 클릭하여 새 서버 연결을 추가합니다. 서버 주소를 입력합니다. 服务器IP:11434. 예를 들어192.168.1.200:11434(자신의 서버 IP 주소로 대체하는 것에 유의하세요). (자신의 서버 IP 주소로 바꾸도록 주의하세요). 연결에 성공하면 OpenWEBUI 인터페이스에 "연결 성공"이라는 녹색 메시지가 표시됩니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

연결이 완료되면 연결 관리자 아이콘을 클릭하여 연결된 Ollama 서버를 확인합니다. Deepseek 모델이 이미 다운로드된 경우 '모델 삭제' 드롭다운 메뉴에 해당 모델이 표시됩니다. deepseek-r1:671b 모델.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

축하합니다, 거의 다 완성되었습니다! 하지만 서둘러 설정 페이지를 떠나지 마세요!

고급 매개변수 설정

편집(펜) 아이콘을 클릭합니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

이제 고급 매개변수를 편집할 수 있습니다. 완료되면 "저장!"을 클릭하는 것을 잊지 마세요.
[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

  • GPU(그래픽 처리 장치) 수GPU 카드가 없는 경우, 이를 다음과 같이 변경합니다. 0.
  • 추론 노력선택 사항 low (낮음) medium (M) 또는 high (높음), 기본값은 medium (가운데).
  • 컨텍스트 길이: 설정 1636416K의 컨텍스트 길이는 문제가 되지 않습니다. 컨텍스트 길이가 길수록 더 많은 메모리 또는 GPU RAM이 필요합니다.
  • 스레드 수(num_thread): 설정 62또한 시스템에는 시스템용으로 예약된 2개의 CPU 코어가 있습니다.
  • 메모리 잠금 활성화(사용_mlock)메모리 데이터가 디스크로 스왑되어 성능에 영향을 미치는 것을 방지하기 위해 활성화할 수 있습니다. (메모리 잠금(mlock)은 운영 체제에서 메모리 페이지를 디스크로 스왑하는 것을 방지하여 애플리케이션의 효율성을 개선하지만 메모리 사용 공간을 증가시킵니다.)

다른 매개변수는 모델 카드의 지침에 따라 조정할 수 있습니다. 참고: 2TB의 RAM이 없다면 전체 160K 컨텍스트 길이를 사용하지 마세요! 작동하더라도 속도는 매우 많이 느리게.

중요: "저장!"을 탭하는 것을 잊지 마세요.

사용자 설정 설정

사용자 환경설정을 변경하려면 '사용자 설정'을 클릭합니다. '연결 유지' 설정은 3시간과 같이 더 긴 시간으로 설정하는 것이 좋습니다. 설정을 변경한 후 '저장'을 클릭합니다.

[转]用 2000 美元 EPYC 服务器本地跑起 Deepseek R1 671b 大模型

사용자 설정은 이전 관리자 설정과 약간 혼동될 수 있으므로 구분하는 데 주의하세요.

테스트를 실행합니다.

세상에, 여기까지 오셨다니 믿을 수가 없네요! 정말 대단해요, 디지털 스페이스포트는 여러분을 존경합니다! OpenWEBUI 인터페이스의 왼쪽 상단 모서리에 있는 "새 채팅"을 클릭합니다. 모델 목록에 이미 다음이 있어야 합니다. deepseek-r1:671b 아, 네. 무작위로 "안녕하세요"를 보내 보세요. 성공했습니다!

 

Deepseek R1 671b 성능 테스트

올라마+오픈웹UI 로컬 빅모델 서비스를 성공적으로 설치 및 실행하신 것을 축하드립니다! 디지털 스페이스포트는 다음과 같은 훌륭한 로컬 빅 모델 실행 솔루션이 많이 있다고 믿습니다. llama.cppexo 노래로 응답 vLLM튜토리얼은 디지털 스페이스포트가 더 깊이 파고든 후에 게시될 예정입니다. 튜토리얼은 디지털 스페이스포트가 더 깊이 파고들면 공개될 예정입니다. llama.cpp 다음은 디지털 스페이스포트가 최근 컴파일, 테스트 및 실행한 llama.cpp결과는 아주 좋았습니다! 해결해야 할 매개변수가 너무 많았어요. vLLM 조금 복잡합니다.exo 아주 간단하지만 실행 후 계속 충돌이 발생하고 아직 디버깅할 시간이 없었습니다. 어쨌든, 그들이 말했듯이... 계속 지켜봐주세요! (곧!)

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...