2.8. 모델 설정 및 파라미터¶
Backend.AI GO는 모델 로딩 및 텍스트 생성 방식을 세밀하게 조정할 수 있는 다양한 설정 옵션을 제공합니다. 이 페이지에서는 사용 가능한 모든 설정을 상세히 설명합니다.
로딩 파라미터 (Loading Parameters)¶
모델을 메모리에 로드할 때 적용되는 설정입니다. 하드웨어 사용량과 모델의 기본 성능을 결정합니다.
하드웨어 가속¶
- GPU 레이어: 모델의 몇 개의 레이어를 GPU로 오프로드할지 결정합니다.
- 최대: VRAM이 충분하다면 최상의 성능을 위해 권장됩니다.
- 일부: VRAM이 부족한 경우 사용합니다. 나머지는 CPU에서 실행됩니다.
- 0: 전체를 CPU에서 실행합니다 (느림).
- 메인 GPU: GPU가 여러 개인 경우, 주 연산 장치로 사용할 GPU를 선택합니다.
- 분할 모드: 다중 GPU 환경에서 모델을 여러 장치에 어떻게 분배할지 결정합니다 (예: Row Split, Layer Split).
메모리 및 컨텍스트¶
- 컨텍스트 길이: 모델이 한 대화에서 기억할 수 있는 최대 텍스트(토큰) 양입니다.
- 참고: 컨텍스트가 길수록 더 많은 VRAM/RAM을 사용합니다.
- 기본값: 모델에 따라 보통 2048 또는 4096입니다.
- 배치 크기: 프롬프트 평가 시 병렬로 처리할 토큰 수입니다. 값이 높으면 긴 프롬프트 처리 속도가 빨라지지만 VRAM 사용량이 늘어납니다.
- Flash Attention: 메모리 효율적인 어텐션 메커니즘을 활성화합니다 (호환되는 하드웨어 필요).
성능¶
- 스레드: 추론에 사용할 CPU 스레드 수입니다 (GPU로 완전히 오프로드되지 않았을 때 중요).
- NUMA 지원: 다중 소켓 CPU 시스템을 위한 최적화 옵션입니다.
추측 디코딩 (Speculative Decoding)¶
추측 디코딩은 작고 저렴한 드래프터 모델을 실행하여 단계마다 여러 토큰을 제안하고, 메인 모델이 한 번의 추론으로 이를 검증한 뒤 올바른 접두사 중 가장 긴 부분을 채택하는 기법입니다. temperature 0에서는 출력이 일반 디코딩과 바이트 단위로 동일하므로, 호환되는 드래프터가 있을 때 순수한 지연 시간 이득이 됩니다. 모델별로 모델 설정 드로어의 추측 탭에서 구성합니다.
두 내장 엔진 모두 드래프트 모델 경로를 지원하지만 내부 플래그가 다릅니다 — 앱이 대상 모델 형식에 따라 올바른 플래그를 자동으로 선택합니다.
- 추측 디코딩 사용: 마스터 스위치입니다. 꺼져 있으면(기본값) 모델에 아무 변화가 없습니다.
- 드래프터 모델: 초안 토큰을 제안하는 작은 모델입니다. 대상과 같은 형식으로 다운로드된 로컬 모델을 선택하거나(GGUF 대상에는 GGUF 드래프터, MLX 대상에는 MLX 드래프터), 직접 입력을 선택해 로컬 경로 또는 Hugging Face 저장소 ID를 입력하세요.
- llama.cpp (GGUF) 대상의 경우 Hugging Face 저장소 ID(
org/repo[:quant])는 자동 다운로드되며, 로컬 경로는 그대로 사용됩니다. - MLX (mlxcel) 대상의 경우 드래프터는 로컬 디렉터리여야 합니다. 이 버전에서는 MLX용 Hugging Face 저장소 ID가 자동 다운로드되지 않으므로, 먼저 드래프터를 다운로드한 다음 해당 폴더를 참조하세요.
- llama.cpp (GGUF) 대상의 경우 Hugging Face 저장소 ID(
- 최대 초안 토큰: 드래프터가 단계마다 제안하는 토큰 수입니다. 두 엔진 모두 기본값은 16입니다.
llama.cpp 전용 항목 (GGUF 대상에 표시): 최소 초안 토큰, 최소 채택 확률, 초안 컨텍스트 크기, 초안 GPU 레이어.
mlxcel 전용 항목 (MLX 대상에 표시):
- 드래프터 종류: mlxcel이 드래프터 체크포인트를 해석하는 방식입니다. 자동(권장)은 체크포인트에서 종류를 감지합니다. 두 종류는 특정 대상 계열에 매핑됩니다.
- MTP(Multi-Token Prediction)는 Gemma 4 대상에 검증되어 있습니다.
- DFlash는 Qwen 3.5 텍스트/VLM 대상에 검증되어 있습니다.
- 초안 블록 크기: 초안 블록 크기(토큰, MTP는 기본 4, DFlash는 기본 16).
대상이 Gemma 4 또는 Qwen 3.5 모델로 보이면 앱이 비차단 힌트를 표시하지만, 짝을 하드 차단하지는 않습니다 — 엔진이 소스 오브 트루스이며 드래프터가 호환되지 않으면 일반 디코딩으로 대체됩니다. 드래프터를 해석할 수 없으면(존재하지 않는 로컬 경로) 엔진이 시작되기 전에 명확한 오류와 함께 로드가 실패합니다.
엔진 수준의 세부 사항은 llama.cpp 가속과 Apple MLX 가속을 참고하세요.
생성 파라미터 (Generation Parameters)¶
채팅 중 "파라미터" 서랍에서 볼 수 있는 이 설정들은 모델 답변의 창의성과 행동을 제어합니다.
창의성 및 무작위성¶
- 온도: 출력의 무작위성을 제어합니다.
- 낮음 (0.1 - 0.5): 집중적, 결정론적, 논리적. 코딩이나 사실적 작업에 적합.
- 높음 (0.8 - 1.5): 창의적, 예측 불가능. 스토리텔링에 적합.
- Top P (Nucleus Sampling): 확률이 높은 상위 토큰들의 집합 내에서만 다음 토큰을 선택하도록 제한합니다.
- Top K: 확률이 가장 높은 K개의 토큰 중에서만 선택하도록 제한합니다.
- Min P: 가장 확률이 높은 토큰 대비 최소 확률 임계값을 설정합니다.
반복 제어¶
- 반복 페널티: 이미 등장한 단어에 페널티를 부여하여 텍스트가 루프에 빠지는 것을 방지합니다.
- 존재 페널티: 토큰이 텍스트에 한 번이라도 등장했는지 여부에 따라 페널티를 줍니다.
- 빈도 페널티: 토큰이 등장한 횟수에 비례하여 페널티를 줍니다.
구조 제어¶
- 시스템 프롬프트: 모델의 페르소나와 제약 조건을 정의하는 상위 지침입니다 (예: "당신은 유능한 코딩 조수입니다").
- 중단 문자열: 모델이 생성을 즉시 멈추게 할 특정 텍스트 시퀀스입니다.
- 최대 토큰: 모델이 한 번의 응답에서 생성할 수 있는 최대 토큰 수 제한입니다.
추론 노력¶
확장 사고(추론 모델)를 지원하는 모델의 경우, 추론 깊이를 제어할 수 있습니다:
-
기본 추론 노력: 설정 > 추론에서 구성합니다. 옵션:
- 없음 (꺼짐): 확장 사고 없음
- 낮음 / 중간 / 높음 / 매우 높음: 점진적으로 깊은 추론
- 마지막 사용 값: 가장 최근에 사용한 설정을 기억하고 적용
-
세션별 재정의: 채팅 인터페이스에서 개별 세션의 추론 노력을 직접 조정할 수 있습니다.
Thinking 예산 (수치 상한)¶
추론 노력 선택값은 모든 채팅 요청에서 thinking_budget_tokens 수치값으로 함께 전송되는데, llama.cpp나 mlxcel-server, vLLM처럼 <think> 토큰 수에 하드 캡을 적용하는 엔진들은 이 값을 그대로 사용합니다.
| 추론 노력 | thinking_budget_tokens |
|---|---|
none (꺼짐) | 0 (즉시 종료) |
| 낮음 | 128 |
| 중간 | 512 |
| 높음 | 2048 |
| 매우 높음 | 8192 |
| (선택 안 함) | 필드 생략, 엔진 기본값(무제한) 적용 |
엔진 의미: -1은 무제한, 0은 즉시 종료(thinking 비활성화), N>0은 엔진이 </think>를 강제로 닫기 전까지 <think> 안에서 출력할 수 있는 토큰 수의 하드 캡입니다. 카테고리 매핑을 직접 지정하고 싶으면 CLI로 aigo chat --thinking-budget <N>를 사용할 수 있습니다(CLI 레퍼런스 참조).
턴 간 thinking 보존 (Qwen3.6+)¶
Model Config Drawer의 고급(Advanced) 탭에는 이전 턴 thinking 보존 토글이 추가되었는데, Qwen3.6+ 모델에서만 표시됩니다. 켜면 해당 모델로 시작한 모든 채팅 요청에 chat_template_kwargs.preserve_thinking=true가 들어가서 이전 어시스턴트 턴들의 <think> 블록이 제거되지 않고 그대로 유지됩니다. 멀티턴 도구 사용 시나리오에서 에이전트의 의사결정 일관성이 좋아지고, KV 캐시 프리픽스 재사용도 더 잘 됩니다.
토글은 모델별로 저장되고 기본값은 꺼짐입니다. 그 이전 Qwen3/3.5 모델들도 플래그를 받기는 하지만 동작이 검증되지 않았기 때문에 허용목록으로 게이트를 걸어두었습니다.
Chat Parameters Drawer(채팅 세션별로 열림)에도 세 가지 상태를 갖는 이전 턴 thinking 보존 선택기가 추가되었습니다.
- 모델 설정 따르기 (기본값): 세션별 재정의 없음, 위의 모델 수준 설정을 사용합니다.
- 켜기: 모델 기본값이 꺼져 있어도 이 세션의 모든 요청에
preserve_thinking=true를 강제로 적용합니다. - 끄기: 모델 기본값이 켜져 있어도 이 세션의 모든 요청에서 해당 kwarg를 제거합니다.
세션 재정의가 모델 기본값보다 우선합니다. 모델 설정 따르기로 되돌리면 모델 수준 설정이 다시 적용됩니다.
기본 모델 (Default Models)¶
설정 > 기본 모델에서 각 인터페이스의 기본 모델을 구성합니다. 이를 통해 각 인터페이스를 열 때 선호하는 모델이 자동으로 선택됩니다.
사용 가능한 설정¶
- 채팅 기본 모델: 채팅 인터페이스를 열 때 미리 선택되는 모델입니다.
- 이미지 기본 모델: 이미지 생성 작업에 미리 선택되는 모델입니다.
- 에이전트 기본 모델: 에이전트 작업에 미리 선택되는 모델입니다.
모델 선택¶
다음 중에서 선택할 수 있습니다:
- 로컬 모델: 컴퓨터에 다운로드한 GGUF 모델 ("Local" 접두사로 표시)
- 클라우드 모델: OpenAI, Anthropic, Gemini 등 구성된 API 제공자의 모델 (제공자 이름 표시)
자동 로드 기능¶
- 기본값으로 설정된 로컬 모델 자동 로드: 활성화하면 기본값으로 설정된 로컬 모델이 해당 인터페이스를 열 때 자동으로 로드되어 시작됩니다.
- 항상 같은 모델을 사용하는 작업 흐름을 간소화하는 데 유용합니다.
디퓨전 모델 설정¶
모델 페이지에서 디퓨전(이미지 생성) 모델을 선택하고 설정을 열면 stable-diffusion.cpp(sd-server) 백엔드에 특화된 디퓨전 설정 드로어가 표시됩니다. 설정은 다섯 개의 탭으로 구성되어 있습니다.
개요 탭¶
선택한 모델에 대한 읽기 전용 정보를 표시합니다:
- 모델 이름, 파일 크기, 포맷, 아키텍처
- 디퓨전 타입 (SD 1.x, SD 2.x, SDXL, Flux 등)
- 퍼블리셔 및 리포지토리
- 파일 경로 (복사 버튼 포함)
컴포넌트 탭¶
메인 디퓨전 모델과 함께 사용되는 보조 모델 파일을 구성합니다. 일부 필드는 모델 아키텍처에 따라 표시됩니다:
- VAE 모델: 고품질 디코딩을 위한 커스텀 Variational Autoencoder
- CLIP-L 인코더: SDXL 및 Flux 모델용 텍스트 인코더
- CLIP-G 인코더: SDXL 모델 전용 추가 텍스트 인코더
- T5-XXL 인코더: Flux 모델 전용 텍스트 인코더
- TAESD: 빠른(저품질) 미리보기 디코딩을 위한 초소형 오토인코더
- ControlNet: 가이드 이미지 생성을 위한 모델
- LoRA 디렉터리: LoRA 어댑터 파일이 포함된 디렉터리
- 임베딩 디렉터리: 텍스트 인버전 임베딩 파일이 포함된 디렉터리
- 업스케일 모델: 이미지 업스케일링을 위한 ESRGAN 모델
생성 기본값 탭¶
이미지 생성 요청의 기본값을 설정합니다:
- 너비 / 높이: 기본 이미지 크기 및 프리셋 버튼 (SD 1.x, SD 2.x, SDXL, Portrait, Landscape)
- 스텝: 디노이징 스텝 수 (1--150). 스텝이 많을수록 품질은 높아지지만 느려집니다.
- CFG 스케일: Classifier-Free Guidance 스케일 (0--30). 텍스트 프롬프트에 대한 이미지의 충실도를 제어합니다.
- 가이던스: Flux 모델용 가이던스 값 (0--10)
- 샘플링 방법: 디노이징 알고리즘 (euler, euler_a, dpm++2m 등)
- 스케줄러: 노이즈 스케줄 타입 (discrete, karras, exponential 등)
- CLIP 스킵: 건너뛸 CLIP 레이어 수 (-1 = 없음, 최대 12)
- 시드: 재현성을 위한 랜덤 시드 (-1 = 무작위)
- 배치 카운트: 한 번에 생성할 이미지 수 (1--8)
- 네거티브 프롬프트: 피해야 할 내용을 설명하는 기본 텍스트
- 강도: img2img 디노이징 강도 (0.0--1.0)
하드웨어 탭¶
추론 서버의 하드웨어 활용을 구성합니다:
- 스레드: 사용할 CPU 스레드 수 (-1 = 자동, 또는 1--64)
- Flash Attention: 메모리 효율적 어텐션 활성화
- 디퓨전 Flash Attention: 디퓨전 레이어에만 적용되는 Flash Attention
- VAE 타일링: VRAM 사용량을 줄이기 위해 VAE를 타일 단위로 처리
- VAE 타일 크기 / 오버랩: 타일 크기와 겹침 비율
- CPU 오프로드 옵션: 모델, CLIP, 또는 VAE를 CPU로 오프로드
- 메모리 매핑 (mmap): 메모리 매핑 파일 접근 사용
- 가중치 타입: 모델 가중치 정밀도 재정의 (f32, f16, q4_0 등)
고급 탭¶
특수 파라미터를 세밀하게 조정합니다:
- RNG 타입: 난수 생성기 백엔드 (std_default, cuda, cpu)
- Flow Shift: Flux/SD3 플로우 기반 모델의 시프트 값
- LoRA 적용 모드: LoRA 가중치 적용 시점 (auto, immediately, at_runtime)
- SLG 파라미터: Skip Layer Guidance 스케일, 시작 및 종료 지점
- 순환 패딩: 타일링 가능한 텍스처를 위한 원활한 타일링 활성화
- 예측 타입: 노이즈 예측 방법 (eps, v, edmv, sd3flow, fluxflow, flux2flow)
설정 변경 시 재시작 필요
컴포넌트, 하드웨어 및 고급 탭의 변경 사항은 모델을 언로드하고 다시 로드해야 적용됩니다. 생성 기본값은 요청마다 적용되므로 재시작이 필요 없습니다.