메모리와 모델

맥 스튜디오 M5 Ultra, SSD가 빨라지면 로컬 AI도 빨라질까?

맥 스튜디오 M5 Ultra를 알아보다 보면 SSD1 속도까지 크게 올랐다는 이야기가 눈에 들어옵니다. 비싼 장비를 사는 입장에서는 반가운 소식입니다. 그런데 곧 다른 생각이 듭니다. SSD가 이렇게 빨라졌다면, 메모리는 조금 줄이고 저장 공간에 돈을 쓰는 편이 낫지 않을까요? 이 질문은 모델을 처음 여는 순간과 이미 열린 모델에 계속 말을 거는 순간을 나눠 보면 답이 달라집니다.

실행 조건과 핵심 내용
  • 모델 로딩, 입력을 읽는 프리필, 답변을 이어 쓰는 디코드는 기다리는 이유가 서로 다릅니다.
  • PLE SSD 오프로드는 필요한 테이블 항목을 읽는 방식이지, SSD를 통합 메모리로 바꾸는 기능은 아닙니다.
  • 매일 쓸 모델의 메모리부터 확보하고, 모델 교체 횟수와 보관할 파일에 맞춰 SSD를 고릅니다.

빠른 SSD를 사면, 어디서 덜 기다릴까요?

대화 앱에서 모델을 선택했다고 곧바로 답변이 나오는 것은 아닙니다. 먼저 저장 장치에 있는 모델 파일을 사용할 준비를 해야 하고, 그다음 질문과 첨부 문서를 읽고, 마지막으로 답변을 한 토큰2씩 만듭니다. 화면에서는 모두 기다리는 시간으로 보이지만 컴퓨터가 하는 일은 다릅니다.

SSD 성능 향상이 가장 직접적으로 도움이 되는 곳은 첫 번째입니다. 코딩 모델을 열었다가 이미지 모델로 바꾸고, 다시 대화 모델로 돌아오는 사람이라면 이 구간을 하루에도 여러 번 거칩니다. 반대로 같은 모델 하나를 계속 켜 두고 쓰는 사람은 처음 한 번의 대기가 줄어도 그 뒤 대화에서는 차이를 작게 느낄 수 있습니다.

로컬 LLM에서 기다리는 세 구간
화면에서 보이는 상황주로 하는 일SSD와의 관계
모델을 여는 중파일 읽기와 실행 준비파일을 실제로 읽는 구간에 직접 영향
질문을 보낸 뒤 첫 답변 대기프리필과 캐시 처리메모리에 적재됐다면 연산·문맥 조건이 중요
답변이 한 줄씩 이어짐토큰을 이어 쓰는 디코드일반 메모리 상주 실행에서는 SSD보다 메모리·연산 영향

로컬 LLM에서 기다리는 세 구간

모델을 여는 중

주로 하는 일
파일 읽기와 실행 준비
SSD와의 관계
파일을 실제로 읽는 구간에 직접 영향

질문을 보낸 뒤 첫 답변 대기

주로 하는 일
프리필과 캐시 처리
SSD와의 관계
메모리에 적재됐다면 연산·문맥 조건이 중요

답변이 한 줄씩 이어짐

주로 하는 일
토큰을 이어 쓰는 디코드
SSD와의 관계
일반 메모리 상주 실행에서는 SSD보다 메모리·연산 영향
모델을 여는 진행 막대가 표시된 컴퓨터와 책장에서 꺼낸 자료 묶음이 놓인 작업대 삽화
모델을 보관하는 곳에서 작업 공간으로 가져오는 시간과, 가져온 뒤 사용하는 속도는 구분해야 합니다.

약 14GB/s라는 숫자를 읽는 방법

Tom’s Guide의 M5 Ultra 리뷰에서는 4TB SSD 구성의 Blackmagic 읽기 13,902MB/s, 쓰기 14,283MB/s를 기록했습니다. 다만 이것은 해당 리뷰 장비의 디스크 측정값입니다. 모든 SSD 용량에서 같은 수치가 나온다는 뜻도, LLM3의 답변 속도가 그 비율로 오른다는 뜻도 아닙니다.

예를 들어 70GB를 읽는다고 가정해 봅시다. 데이터를 일정하게 초당 7GB 읽으면 전송에 10초, 초당 14GB 읽으면 5초가 걸립니다. 이 계산은 디스크에서 옮기는 시간만 떼어 낸 설명용 예시입니다. 실제 모델 로딩에는 파일 처리, 메모리 할당, 실행 준비가 더해지므로 앱의 대기 시간이 그대로 절반이 되지는 않습니다.

두 번째로 모델을 열었더니 빨라졌다면 SSD 덕분인지도 나눠 봐야 합니다. 운영체제가 직전에 읽은 파일을 메모리에 보관하는 파일 캐시가 작동했을 수 있기 때문입니다. 같은 프롬프트의 계산을 재사용하는 프롬프트 캐시와는 별개입니다. ‘첫 실행’이라는 표현 하나로 이 둘을 묶으면 SSD와 LLM 양쪽의 성능을 잘못 해석하기 쉽습니다.

이미 모델을 켜 뒀는데 답변이 느리다면

모델이 통합 메모리4에 올라가 있고 스왑이나 오프로드 없이 실행된다면, 답변을 만드는 동안 주로 오가는 곳은 SSD가 아니라 메모리와 연산 장치입니다. 빠른 창고에서 책을 꺼냈더라도 책상 위에 펼친 뒤 읽는 속도까지 창고가 결정하지는 않는 것과 비슷합니다. SSD 읽기 속도만 보고 초당 토큰 수를 계산할 수 없는 이유입니다.

질문을 보낸 뒤 한참 조용하다가 답변은 빠르게 쏟아진다면, 입력이 긴지부터 보세요. 문서와 대화 기록을 읽는 프리필5이 오래 걸리는 상황일 수 있습니다. 반대로 첫 답은 금방 나오는데 문장이 천천히 이어진다면 모델 크기, 양자화6, 실행 엔진과 디코드7 가속 설정을 살펴볼 차례입니다. 두 상황에 같은 SSD 업그레이드를 권할 수는 없습니다.

이 사이트의 속도 체감 화면도 프리필과 디코드를 나눠 보여 줍니다. 여기서 나오는 대기 시간을 SSD에서 모델 파일을 처음 불러오는 시간으로 읽으면 안 됩니다. 모델을 실행할 준비가 된 다음, 내 입력 길이에서 답변이 어떻게 나오는지 비교하는 용도로 쓰면 됩니다.

예외가 있습니다. 일부를 SSD에 두고 실행할 때

메모리에 모델이 전부 들어가는 상황만 있는 것은 아닙니다. 지원되는 모델과 엔진에서는 큰 조회 테이블을 SSD에 남겨 두고, 그때 필요한 항목만 읽어 오는 PLE8 오프로드를 사용할 수 있습니다. 책을 통째로 매번 옮기기보다 색인에서 필요한 카드만 꺼내 보는 방식에 가깝습니다. 이때는 답변 중에도 저장 장치를 읽으므로 SSD 성능이 다시 중요해집니다.

실제 사례로 MacStories는 M5 Ultra 256GB·80코어 GPU9에서 Qwen3.8-Flash-Next oQ8e의 PLE 테이블을 SSD에 두고 실행했습니다. oMLX 0.7.0.dev2, MTP10 깊이 3 조건에서 문장 생성 중앙값은 86.8 tok/s, 답변 중 측정된 프로세스 메모리는 약 187GB였습니다. 메모리는 가중치만의 크기가 아닙니다.

이 기록은 실행 가능한 구성을 보여 주지만 SSD만 바꾼 비교 실험은 아닙니다.

여기서 MTP와 PLE 오프로드는 역할이 다릅니다. MTP는 다음 토큰 후보를 미리 제안해 생성 반복을 줄이는 쪽이고, PLE 오프로드는 일부 데이터의 저장 위치를 바꾸는 쪽입니다. 엔진이 그 조합을 지원하면 함께 쓸 수 있습니다. 다만 모든 모델에 같은 옵션을 켜거나, 일반적인 n-gram11 추측 디코딩12과 같은 기능으로 생각하면 안 됩니다.

또한 큰 파일을 순서대로 읽는 속도와 여기저기 흩어진 작은 항목을 읽는 속도는 다릅니다. 한 번 읽은 항목이 파일 캐시에 남는 정도도 영향을 줍니다. 그래서 SSD 벤치마크가 두 배라고 오프로드 디코드도 두 배로 잡는 계산은 하지 않습니다.

색인 카드 서랍에서 일부 카드만 책상에 꺼내 놓고 컴퓨터와 저장 장치를 함께 둔 개념 삽화
PLE 오프로드는 모델 전체를 매번 옮기기보다 필요한 테이블 항목을 골라 읽는 쪽에 가깝습니다.

그렇다면 256GB와 빠른 SSD로 512GB를 대신할 수 있을까요?

특정 모델 하나라면 선택지가 될 수 있습니다. 하지만 이를 모든 모델에 적용되는 공식으로 삼기는 어렵습니다. 선택적 오프로드를 지원하지 않는 모델도 있고, 긴 문맥의 KV 캐시13나 동시에 켠 다른 모델은 또 메모리를 차지합니다. 256GB라는 숫자와 모델 파일 크기만 비교해서 ‘들어간다’고 끝낼 문제가 아닙니다.

운영체제가 부족한 메모리를 SSD로 밀어내는 스왑도 따로 봐야 합니다. 어떤 데이터를 옮길지 엔진이 정한 PLE 오프로드와 달리, 메모리 압박 때문에 필요한 데이터를 계속 내보내고 다시 읽으면 대화가 끊기거나 대기가 길어질 수 있습니다. 빠른 SSD가 손해를 줄여 줄 수는 있어도, 메모리가 넉넉한 상태와 같아지는 것은 아닙니다.

반대로 모델과 문맥이 이미 충분히 들어간다면 512GB로 올린다고 답변이 자동으로 두 배 빨라지지도 않습니다. 큰 메모리의 가치는 더 큰 모델, 긴 문맥, 여러 모델을 함께 쓰는 여유에 있습니다. 256GB와 512GB 사이에서 고민한다면 ‘언젠가 쓸지도 모르는 가장 큰 모델’보다 매일 켜 둘 모델과 다른 앱을 먼저 적어 보는 편이 낫습니다.

예산을 더 쓴다면 메모리부터, 단 조건이 있습니다

매일 쓰려는 모델이 빠듯하다면 메모리 쪽이 우선입니다. 모델이 안정적으로 실행되지 않는데 로딩만 빨라져도 해결되는 것은 적습니다. 메모리, KV 캐시, 다른 앱이 사용할 공간을 먼저 확보한 뒤, 자주 쓰는 모델 파일과 작업 자료가 들어갈 SSD 용량을 정하는 순서가 무난합니다.

이미 메모리가 충분하고 여러 대형 모델을 번갈아 쓴다면 이야기가 달라집니다. 모델을 갈아 끼울 때마다 기다리는 사람이므로 빠른 저장 장치의 이점을 자주 받습니다. 이미지 생성까지 병행해 체크포인트14를 자주 바꾸거나, 모델을 내렸다 올리는 작업이 많은 경우도 여기에 가깝습니다. 그렇더라도 용량이 더 큰 SSD가 반드시 더 빠르다는 가정은 빼고, 구매할 용량의 측정 결과를 확인해야 합니다.

가끔 시험할 모델을 많이 보관하려는 목적이라면 외장 SSD도 방법입니다. 자주 쓰는 파일은 내부에, 당장 켜지 않을 모델은 외부에 두면 됩니다. 다만 외장 SSD는 드라이브뿐 아니라 케이스, 연결 규격, 케이블과 발열의 영향을 함께 받습니다. Thunderbolt 5라는 이름만으로 내장 SSD와 같은 속도라고 계산해서는 안 됩니다.

컴퓨터와 작업 자료를 펼칠 여유가 있는 책상, 별도 선반에 보관한 자료와 외장 저장 장치
매일 펼쳐 둘 작업이 들어가는 공간을 먼저 확보하고, 보관할 자료의 양에 맞춰 저장 공간을 고릅니다.

이미 맥이 있다면, 사기 전에 이렇게 확인하세요

평소 쓰는 모델과 질문 하나를 정하고, 모델을 여는 시간과 답변이 시작되는 시간, 그 뒤 문장이 이어지는 속도를 따로 봅니다. 활동 모니터에서는 메모리 압력과 스왑 사용량을 함께 확인하세요. 스왑은 누적된 수치 하나만 보지 말고 해당 작업을 시작했을 때 늘어나는지, 응답 지연과 함께 나타나는지를 봐야 합니다.

속도를 나란히 비교할 때는 같은 모델 파일과 양자화, 입력 길이, 엔진 버전, MTP 설정을 맞춥니다. 파일 캐시와 프롬프트 캐시의 상태도 기록합니다. 모델 교체가 불편한 것인지, 긴 문서가 느린 것인지, 메모리가 모자란 것인지가 갈리면 무엇을 바꿀지도 훨씬 선명해집니다.

M5 Ultra를 고르는 이유가 SSD 하나일 필요는 없습니다

더 좋은 장비를 사면 지금의 답답함이 사라질 것이라는 기대는 자연스럽습니다. 중요한 것은 그 답답함이 어디에서 생겼는지입니다. 매일 같은 모델로 오래 대화하는 사람에게는 모델이 들어가는 메모리와 답변 속도가, 여러 모델을 오가는 사람에게는 파일을 여는 시간까지 중요해집니다. 같은 M5 Ultra라도 잘 맞는 구성은 달라질 수 있습니다.

먼저 실제로 쓸 모델을 골라 프리필과 디코드를 체감해 보세요. 그 속도가 충분하고 메모리에도 여유가 있다면 SSD는 필요한 저장 공간과 교체 편의에 맞춰 결정하면 됩니다. 더 큰 숫자를 사는 것보다, 내가 기다리던 구간을 줄이는 쪽에 돈을 쓰는 편이 만족스럽습니다.

용어 각주

  1. SSD플래시 메모리를 사용하는 데이터 저장 장치입니다. 전원이 꺼져도 데이터가 보존되며, 시스템 메모리와는 용도가 다릅니다.

    본문으로 돌아가기
  2. 토큰모델이 입력이나 출력을 나누어 처리하는 단위입니다. 토큰 하나가 글자 하나나 일정한 시간 길이에 해당하지는 않습니다.

    본문으로 돌아가기
  3. 대규모 언어 모델대량의 텍스트 데이터로 학습해 텍스트를 처리하고 생성하는 언어 모델입니다. 기능과 지원 입력은 모델마다 다릅니다.

    본문으로 돌아가기
  4. 통합 메모리CPU와 GPU가 같은 물리 메모리 풀을 공유하는 구조입니다. 메모리 용량이 자동으로 늘어나는 것은 아니며, 실제 사용 가능량은 시스템에 따라 다릅니다.

    본문으로 돌아가기
  5. 프리필LLM이 입력 프롬프트를 읽고 각 토큰의 내부 표현을 계산하는 단계입니다. 입력이 길수록 처리할 토큰이 많아집니다.

    본문으로 돌아가기
  6. 양자화모델의 수치를 더 적은 비트로 표현하는 방법입니다. 메모리 사용량과 함께 정확도나 실행 속도도 달라질 수 있으며, 영향은 형식과 구현에 따릅니다.

    본문으로 돌아가기
  7. 디코드LLM에서는 입력 처리 뒤 출력 토큰을 생성하는 단계를 뜻합니다. VAE나 오디오 코덱에서는 압축 표현이나 인코딩 데이터를 원래 형식으로 복원하는 처리를 가리킬 수 있습니다.

    본문으로 돌아가기
  8. PLE 임베딩 테이블Per-Layer Embedding의 약자로, 모델의 특정 층에 임베딩 정보를 더하는 구조입니다. Qwen Flash-Next 계열은 n-그램 테이블을 사용하며, 지원되는 실행 경로에서는 이 테이블을 RAM이나 SSD로 오프로딩할 수 있습니다.

    본문으로 돌아가기
  9. GPU많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.

    본문으로 돌아가기
  10. MTP한 번에 여러 미래 토큰을 예측하도록 학습하는 방식 또는 관련 모델 구성입니다. 실제 생성 속도 향상 여부는 구현과 실행 조건에 달려 있습니다.

    본문으로 돌아가기
  11. n-그램연속된 n개의 토큰 또는 항목으로 이루어진 구간입니다. 문맥 조회·추측 생성에 쓰일 수도 있고, 일부 모델에서는 임베딩 테이블의 구성 단위로도 쓰입니다.

    본문으로 돌아가기
  12. 추측 디코딩출력 후보를 먼저 제안한 뒤 본 모델이 검증하는 생성 기법입니다. 후보는 별도 초안 모델, MTP 헤드 또는 문맥의 반복 구간 조회 등으로 만들 수 있으며, 속도 효과는 구현과 조건에 따라 달라집니다.

    본문으로 돌아가기
  13. KV 캐시어텐션에서 이전 토큰의 키·값을 저장해 다음 토큰 생성 때 재사용하는 메모리입니다. 문맥 길이와 배치 크기에 따라 용량이 달라집니다.

    본문으로 돌아가기
  14. 체크포인트학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.

    본문으로 돌아가기