프라이빗 비전 AI: Reka Edge를 완전히 내 기기에서 실행

발행: (2026년 3월 19일 PM 10:17 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

Reka는 방금 Reka Edge를 출시했습니다. 이 모델은 작지만 강력한 비전‑언어 모델로 완전히 여러분의 컴퓨터에서 실행됩니다. API 키도 없고, 클라우드도 없으며, 데이터가 컴퓨터를 떠나지 않습니다. 저는 Reka에서 일하고 있으며, 이 튜토리얼을 만들면서 정말 즐거웠습니다; 여러분도 제가 즐겼던 만큼 실행해 보시길 바랍니다.

세 단계만 거치면, 여러분은 어떤 이미지든 비디오든 AI에게 무엇이 있는지 물어볼 수 있게 됩니다.

필요 사항

  • 7 B 파라미터 모델을 실행할 수 있는 충분한 RAM을 가진 머신 (~16 GB 권장)
  • Git
  • uv, 빠른 Python 패키지 매니저

설치 방법:

curl -LsSf https://astral.sh/uv/install.sh | sh

이 명령은 macOS, Linux, Windows(WSL)에서 작동합니다. WSL 없이 Windows를 사용 중이라면 Windows 설치 프로그램을 대신 다운로드하세요.

Step 1: 모델 및 추론 코드 가져오기

Hugging Face에서 Reka Edge 저장소를 복제하세요. 여기에는 모델 가중치와 추론 코드가 모두 포함됩니다:

git clone https://huggingface.co/RekaAI/reka-edge-2603
cd reka-edge-2603

다운로드되는 동안 커피를 한 잔 마시세요—모델 가중치가 몇 GB에 달합니다.

단계 2: 대용량 파일 가져오기

Hugging Face는 대용량 파일(모델 가중치 및 이미지)을 Git LFS를 사용해 저장합니다. 클론 후에는 이러한 파일들이 디스크에 존재하지만 실제 내용이 아닌 작은 포인터 파일만 포함합니다.

  1. Git LFS 설치 (플랫폼에 따라 명령어가 다름):

    # macOS
    brew install git-lfs
    
    # Linux / WSL (Ubuntu/Debian)
    sudo apt install git-lfs
  2. Git LFS 초기화:

    git lfs install
  3. 대용량 파일 가져오기 (모델 가중치 및 미디어 샘플):

    git lfs pull

Step 3: 이미지 또는 비디오에 대해 모델에 질문하기

Image

uv run example.py \
  --image ./media/hamburger.jpg \
  --prompt "What is in this image?"

Video

uv run example.py \
  --video ./media/many_penguins.mp4 \
  --prompt "What is in this?"

모델이 로드되고 입력을 처리한 뒤 설명을 출력합니다—모두 로컬에서, 모두 비공개.

더 많은 정보를 얻으려면 다양한 프롬프트를 시도해 보세요

  • "이 장면을 자세히 설명해 주세요."
  • "이 이미지에 보이는 텍스트는 무엇인가요?"
  • "여기에 특이하거나 예상치 못한 것이 있나요?"

Source:

실제로 무슨 일이 일어나고 있나요? (선택 읽기)

모델을 사용하기 위해 이것이 필요하지는 않지만, example.py의 내부가 궁금하다면 간단히 살펴볼 수 있습니다.

1. 하드웨어 선택

if torch.cuda.is_available():
    device = torch.device("cuda")
elif mps_ok:
    device = torch.device("mps")
else:
    device = torch.device("cpu")

스크립트가 자동으로 사용 가능한 최적의 장치(CUDA, Metal, 또는 CPU)를 선택합니다.

2. 모델 로드

processor = AutoProcessor.from_pretrained(args.model, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
    args.model, ...).eval()

7 B 파라미터 모델을 복제된 폴더에서 읽어옵니다. 로드 시간은 하드웨어에 따라 약 30 초 정도 소요됩니다.

3. 입력 패키징

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": args.image},
        {"type": "text",   "text": args.prompt},
    ],
}]

이미지(또는 비디오)와 프롬프트가 채팅 형식 메시지로 감싸집니다.

4. 토크나이징

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_tensors="pt",
    return_dict=True,
)

프로세서는 이미지를 수치 패치로, 텍스트를 토큰으로 변환합니다.

5. 생성

output_ids = model.generate(
    **inputs,
    max_new_tokens=256,
    do_sample=False,
)

모델은 정지 조건에 도달할 때까지 다음 토큰을 반복적으로 예측합니다.

6. 디코딩

output_text = processor.tokenizer.decode(
    new_tokens,
    skip_special_tokens=True,
)
print(output_text)

토큰 ID가 인간이 읽을 수 있는 텍스트로 다시 변환되어 출력됩니다. 어느 단계에서도 인터넷 연결이 필요하지 않습니다.

비디오 보기

시청과 읽기를 모두 원하신다면, 비디오 버전을 확인하세요:

(여기에 비디오를 삽입하거나 링크하세요)

그거 꽤 멋지죠?

단일 스크립트. API 키도 없고, 클라우드도 없습니다. 7 B 파라미터 비전‑언어 모델을 완전히 로컬 머신에서 실행했으며, Mac이든 Linux든 Windows(WSL)든 상관없이 동작합니다(제가 이 글을 쓸 때 사용한 환경이 바로 WSL입니다).

이 스크립트는 일회성으로 사용하기에 아주 좋습니다: 파일을 넣고, 질문을 하면, 답을 얻을 수 있습니다.

그런데 이 위에 무언가를 만들고 싶다면 어떨까요? 웹 앱, 폴더를 감시하는 도구, 혹은 모델과 반복적으로 통신해야 하는 모든 것 말이죠?

바로 그게 다음 글에서 다룰 내용입니다. Edge를 로컬 API로 래핑하는 방법을 보여드릴 테니, 스크립트를 실행하는 대신 머신에 서비스를 띄워 두고 어떤 앱이든 연결해서 사용할 수 있게 됩니다. 같은 모델, 같은 프라이버시, 이제는 제대로 된 빌딩 블록이 됩니다.

0 조회
Back to Blog

관련 글

더 보기 »