# 이번에 구글에서 Apache 2.0 라이센스로 공개한 Gemma 4 모델을 돌리는 매뉴얼

**URL:** <https://forum.openinfra-kr.org/t/apache-2-0-gemma-4/320>\
**Category:** 자유게시판\
**Created:** [4월 9, 2026, 8:05오전 UTC](https://forum.openinfra-kr.org/t/apache-2-0-gemma-4/320 "2026-04-09T08:05:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![prudentcircle](https://forum.openinfra-kr.org/user_avatar/forum.openinfra-kr.org/prudentcircle/32/74_2.png) [@prudentcircle](https://forum.openinfra-kr.org/u/prudentcircle)\
**Post date:** [4월 9, 2026, 8:05오전 UTC](https://forum.openinfra-kr.org/t/apache-2-0-gemma-4/320/1 "2026-04-09T08:05:02Z")

</div>

제가 직접 진행하면서 기록했던 내용을 Gemma 4로 다듬어서 공유드려봅니다!

제가 Gemma 4를 구동한 하드웨어는 AMD Ryzen AI 395+ 가 탑재된 (코드명 Strix Halo 라는 이름으로 더 유명하죠) 워크스테이션 입니다. GPU RAM 128GB 입니다.

```auto
title: Strix Halo에 Gemma 4 로컬모델 구축하기
date: 2026-04-09
tags: [ytvc,llama.cpp,gemma4,strix halo]

```

# Strix Halo서버에 LLM 배포 가이드 (llama.cpp + ROCm)

이 가이드는 Ubuntu 24.04 환경에서 AMD Strix Halo 하드웨어를 사용하여 `llama.cpp`를 ROCm과 함께 설정하는 종합적인 절차를 제공합니다. 커널 요구 사항, 통합 메모리(Unified Memory) 설정, ROCm 설치 및 `systemd`를 이용한 운영 환경 배포 과정을 포함합니다.

* * *

## 1. 사전 준비 및 커널 설정

Strix Halo의 최적 성능과 드라이버 호환성을 위해서는 특정 커널 지원이 필수적입니다.

### 1.1 OEM 커널 설치

하드웨어 지원을 극대화하기 위해 Ubuntu OEM 커널을 사용합니다.

```auto
sudo apt update && sudo apt-get install linux-oem-24.04c

```

_설치 확인:_ `uname -r` 명령어를 실행했을 때 `6.17.0-xxx-oem`과 같은 버전이 출력되어야 합니다.

### 1.2 ROCm 설치 (AMD GPU 드라이버)

**주의:** 항상 [AMD ROCm Repository](https://repo.radeon.com/amdgpu-install/)에서 최신 버전을 확인하십시오. 2026년 4월 기준으로는 `7.2.1` 버전 사용을 권장합니다.

1. **설치 파일 다운로드:**

2. **설치 패키지 설치:**

3. **공식 ROCm 설치 단계 수행:**  
[ROCm Quickstart Guide](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html) 또는 상세한 [Ubuntu용 패키지 매니저 가이드](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/install-methods/package-manager/package-manager-ubuntu.html)를 따르십시오.

* * *

## 2. 통합 메모리 설정 (Strix Halo 최적화)

내장 GPU의 성능을 극대화하기 위해, TTM(Translation Table Manager) 설정을 통해 통합 메모리 접근이 가능한 더 큰 메모리 풀을 구성해야 합니다.

### 2.1 GRUB 설정

BIOS에서 메모리 값을 조정하는 것은 제약이 많으므로, Linux의 GRUB 설정을 통해 직접 페이지 제한을 설정하는 것이 권장됩니다.

1. **`/etc/default/grub` 수정:**

2. **`GRUB_CMDLINE_LINUX_DEFAULT` 업데이트:**  
IOMMU를 비활성화하고 큰 페이지 제한을 설정하는 파라미터를 추가합니다.

3. **변경 사항 적용 및 재부팅:**

### 2.2 메모리 할당 확인

재부팅 후, 할당된 페이지 용량을 확인합니다.

```auto
cat /sys/module/ttm/parameters/p* | awk '{print $1 / (1024 * 1024 / 4)}'

```

출력값이 기본값보다 증가했는지(예: `96` 등) 확인하십시오.

### 2.3 VRAM/GTT 상태 확인

GPU가 메모리를 올바르게 인식하는지 확인합니다.

```auto
sudo dmesg | grep "amdgpu:.*memory"

```

_참고:_ BIOS에서 설정된 VRAM(예: 512MB 또는 2GB)은 작더라도, GTT(Graphics Translation Table) 항목에서 시스템 메모리의 상당 부분(예: ~98GB)이 사용 가능해야 합니다.

* * *

## 3. llama.cpp 설정 및 실행

### 3.1 ROCm 사전 빌드 바이너리 다운로드

Strix Halo를 위해 ROCm 7.2에 최적화된 `llama.cpp` 빌드를 사용합니다.

```auto
curl -L -O https://github.com/ggml-org/llama.cpp/releases/download/b8720/llama-b8720-bin-ubuntu-rocm-7.2-x64.tar.gz

```

### 3.2 llama.cpp 실행 (수동 테스트)

**중요:** Strix Halo의 RDNA 3.5 아키텍처를 ROCm 런타임이 인식할 수 있도록 반드시 GFX 버전을 오버라이드해야 합니다.

```auto
# HSA_OVERRIDE_GFX_VERSION=11.5.1을 사용하여 호환성을 강제합니다.
HSA_OVERRIDE_GFX_VERSION=11.5.1 ./build/bin/llama-cli -m model.gguf -ngl 99

```

### 3.3 모델 다운로드 (예시: Gemma-4)

`huggingface-cli`를 사용하여 특정 GGUF 양자화 모델을 다운로드합니다.

```auto
hf download unsloth/gemma-4-26B-A4B-it-GGUF --local-dir /opt/models/gemma-4-26B-A4B-it-GGUF --include "*UD-Q6_K_XL.gguf"

```

* * *

## 4. 운영 환경 배포 (systemd)

서버를 백그라운드에서 안정적으로 실행하기 위해 `systemd` 서비스를 사용합니다.

### 4.1 디렉토리 구조 설정

시스템 디렉토리를 생성하고 권한을 설정합니다.

```auto
sudo mkdir -p /opt/llama.cpp /opt/models /opt/slots/gemma4 /etc/llama.cpp
sudo chown tokdosirak:tokdosirak -R /opt/llama.cpp /opt/models /opt/slots

```

### 4.2 서비스 파일 생성

`/etc/systemd/system/llama-server.service` 파일을 생성합니다.

```auto
[Unit]
Description=llama.cpp Server (ROCm - Strix Halo)
After=network.target
​
[Service]
Type=simple
User=tokdosirak
WorkingDirectory=/opt/llama.cpp
ExecStart=/opt/llama.cpp/llama-server \
    --host 192.168.166.13 \
    --port 8000 \
    --models-dir /opt/models \
    --models-preset /etc/llama.cpp/models.ini
Restart=always
RestartSec=5
​
# --- Strix Halo를 위한 필수 환경 변수 ---
Environment=PYTHONUNBUFFERED=1
# ROCm 런타임이 RDNA 3.5 CU를 인식하도록 강제합니다.
Environment=HSA_OVERRIDE_GFX_VERSION=11.5.1
# 선택 사항: iGPU가 기본적으로 잡히지 않을 경우 사용
Environment=ROCR_VISIBLE_DEVICES=0
​
[Install]
WantedBy=multi-user.target

```

### 4.3 모델 프리셋 (`models.ini`) 설정

서버 명령어를 간소화하기 위해 `/etc/llama.cpp/models.ini`에 모델 파라미터를 구성합니다.

**Gemma-4 설정 예시:**

```auto
[gemma-4-26B-A4B-it-UD-Q6_K_XL]
model = /opt/models/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q6_K_XL.gguf
slot-save-path = /opt/slots/gemma4/
​
# Hardware & GPU
ngl = 100
fa = on
threads = 16
batch-size = 2048
ubatch-size = 512
no-mmap = true
​
# Context & KV Cache (128GB RAM 기준 최적화)
c = 81920
ctk = q8_0
ctv = q8_0
​
# Sampling
temp = 0.3
min-p = 0.05
repeat-penalty = 1.1
top-k = 40
top-p = 0.95
​
# Features
jinja = true
embedding = true

```

### 4.4 서비스 시작

```auto
sudo systemctl daemon-reload
sudo systemctl enable llama-server
sudo systemctl start llama-server
sudo systemctl status llama-server

```

* * *

---

<div class="post-metadata">

**Author:** ![shingoon](https://forum.openinfra-kr.org/letter_avatar_proxy/v4/letter/s/58956e/32.png) [@shingoon](https://forum.openinfra-kr.org/u/shingoon)\
**Post date:** [4월 14, 2026, 10:56오후 UTC](https://forum.openinfra-kr.org/t/apache-2-0-gemma-4/320/2 "2026-04-14T22:56:04Z")

</div>

성능이 어떤지 너무 궁금합니다.

---

<div class="post-metadata">

**Author:** ![prudentcircle](https://forum.openinfra-kr.org/user_avatar/forum.openinfra-kr.org/prudentcircle/32/74_2.png) [@prudentcircle](https://forum.openinfra-kr.org/u/prudentcircle)\
**Post date:** [4월 20, 2026, 4:12오전 UTC](https://forum.openinfra-kr.org/t/apache-2-0-gemma-4/320/3 "2026-04-20T04:12:56Z")

</div>

물론 Gemini 나 Claude와 비교하면 느리긴 합니다만 막 나쁘지는 않습니다. ^^.  
Gemma 4 26B (Q6) 사용하였을 때에 초당 40 Token 정도 나오고 있습니다.

 ![Screenshot 2026-04-20 at 1.11.23 PM](https://forum.openinfra-kr.org/uploads/default/original/1X/cf7cb88b20361a768759ba207776f0cbced6d934.jpeg)
