윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 문화,취미
DeepSeek R1 로컬에서 실행

딥 시크 R1 을 Python vLLM 을 사용해 로컬에서 실행해 보았다. DeepSeek-R1-Distill-Qwen-1.5B 모델을 사용했는데, 이 모델은 DeepSeek R1 에서 Distill 된 모델중 가장 작은 모델로, 수학 모델이다. 한글을 잘 인식하질 못해서 영어로 질문했다. 인터넷에서 영문 수학 문제를 검색해 문의해보았다.

인터넷을 찾아보면 한글 지원하는 모델도 쉽게 구할 수 있고, 7B 모델만 되어도 한글 잘 인식한다고 한다. 하지만 필자의 사양에서는 못 돌린다. 그래서 INT8 으로 양자화된 모델을 찾고 있기도 하다.

서버 사양은 Ubuntu 22.04, i7-7700K, 32GB, RTX 2060 12G 이다. 아래와 같이 실행했다.

$ mkdir DeepSeek-R1-Distill-Qwen-1.5B
$ cd DeepSeek-R1-Distill-Qwen-1.5B
$ python3 -m venv venv
$ . venv/bin/activate
(venv) $ pip install vllm
(venv) $ vi run.py
from vllm import LLM, SamplingParams

llm = LLM(
    model="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B",
    dtype="half",
    max_model_len=8_000
)

sampling_params = SamplingParams(
    temperature=0.5,
    max_tokens=8_000
)

prompts = [
    """The day before yesterday I was 25. The next year I will be 28. This is true only one day in a year. What day is my Birthday?"""
]

conversations = [
    [{"role": "user", "content": x}] for x in prompts
]

outputs = llm.chat(conversations, sampling_params=sampling_params)

for output in outputs:
    print(output.outputs[0].text)
(venv) $ python run.py

실행 결과는 아래와 같다. 보기좋게 편집되어있다. 질문은 생일을 맞추는 문제인데, "2일 전에는 25살, 내년에는 28살"일 때 생일을 묻는 문제로, 생일은 12월 31일이다. 정확하게 맞췄다. 약 25초 정도 걸렸다. VRAM 사용량은 약 9.5GB 정도 된다. (nvidia-smi 으로 측정)

(venv) $ python run.py
INFO 02-00 18:51:00 __init__.py:183] Automatically detected platform cuda.
WARNING 02-00 18:51:02 config.py:2368] Casting torch.bfloat16 to torch.float16.
INFO 02-00 18:51:07 config.py:526] This model supports multiple tasks: ...
INFO 02-00 18:51:07 llm_engine.py:232] Initializing a V0 LLM engine (v0.7.1) ...
INFO 02-00 18:51:08 cuda.py:184] Cannot use FlashAttention-2 backend for Volta and Turing GPUs.
INFO 02-00 18:51:08 cuda.py:232] Using XFormers backend.
INFO 02-00 18:51:09 model_runner.py:1111] Starting to load model
deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B...
INFO 02-00 18:51:09 weight_utils.py:251] Using model weights format ['*.safetensors']
INFO 02-00 18:51:10 weight_utils.py:296] No model.safetensors.index.json found in remote.
Loading safetensors checkpoint shards: 0% Completed | 0/1 [00:00<?, ?it/s]
Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:00<00:00, 1.06it/s]
Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:00<00:00, 1.06it/s]

INFO 02-00 18:51:11 model_runner.py:1116] Loading model weights took 3.3460 GB
INFO 02-00 18:51:12 worker.py:266] Memory profiling takes 1.05 seconds
INFO 02-00 18:51:12 worker.py:266] the current vLLM instance can use
total_gpu_memory (11.55GiB) x gpu_memory_utilization (0.90) = 10.40GiB
INFO 02-00 18:51:12 worker.py:266] model weights take 3.35GiB;
non_torch_memory takes 0.04GiB; PyTorch activation peak memory takes 1.41GiB;
the rest of the memory reserved for KV Cache is 5.60GiB.
INFO 02-00 18:51:12 executor_base.py:108] # CUDA blocks: 13097, # CPU blocks: 9362
INFO 02-00 18:51:12 executor_base.py:113] Maximum concurrency for 8000 tokens per request: 26.19x
INFO 02-00 18:51:14 model_runner.py:1435] Capturing cudagraphs for decoding.
This may lead to unexpected consequences if the model is not static.
To run the model in eager mode, set 'enforce_eager=True' or use '--enforce-eager' in the CLI.
If out-of-memory error occurs during cudagraph capture,
consider decreasing `gpu_memory_utilization` or switching to eager mode.
You can also reduce the `max_num_seqs` as needed to decrease memory usage.
Capturing CUDA graph shapes: 100%|█████████████| 35/35 [00:09<00:00, 3.63it/s]
INFO 02-00 18:51:24 model_runner.py:1563] Graph capturing finished in 10 secs, took 0.19 GiB
INFO 02-00 18:51:24 llm_engine.py:429] init engine (profile, create kv cache, warmup model)
took 13.48 seconds
INFO 02-00 18:51:24 chat_utils.py:330] Detected the chat template content format to be 'string'.
You can set `--chat-template-content-format` to override this.
Processed prompts: 100%|███████████████████████
[00:04<00:00, 4.14s/it, est. speed input: 9.66 toks/s, output: 81.16 toks/s]
<think>
To determine the day of the birthday, I start by analyzing the information given.

First, it's stated that the day before yesterday, the person was 25.
This means that yesterday was the birthday day, and today is the day after birthday.

Next, it's mentioned that the next year, the person will be 28.
This implies that the current age is 25 plus 1, which is 26.

Since the person will be 28 in the next year, their birthday must be on December 31st.
This is because the next year's birthday will occur on the same date,
and the age will increase by one year.

Therefore, the birthday is December 31st.
</think>

To determine the day of your birthday, let's analyze the information step by step:

1. **Day Before Yesterday:**
- You were **25** years old the day before yesterday.
- This means **yesterday** was your birthday day.

2. **Next Year:**
- You will be **28** years old in the next year.
- If you are currently 26 years old, your birthday will be on **December 31st** because:
- **Today** is **December 31st**.
- **Tomorrow** will be **January 1st**, and you'll turn **27**.
- **Next Year** (two years from now) you'll be **28** years old.

**Conclusion:**

Your birthday is on **\boxed{December 31st}**.

Think 태그에 보면 사고의 흐름을 볼 수 있다. 이런게 나오긴 한다 정도로 생각하면 된다. 정답은 맞췄지만 논리적 사고를 한다기 보다는 문장의 흐름, 패턴을 검색해 유추한다고 생각한다.
글쓴시간
분류 문화,취미/음악
ROSÉ & Bruno Mars - APT.

로제와 브루노 마스의 아파트가 선풍적인 인기를 끌고 있습니다. 인기가 있다길래 찾아봤고 저도 뮤직 비디오 (뮤비)보자마자 이건 엄청 뜨겠다고 생각했고 역시나네요.

사용자 삽입 이미지


뮤비서 춤추는게 막춤 같아보이지만, 꽤 세련되어 보입니다. 제가 평할건 아니겠지만, 결론적으로는 B급 감성으로 포장한 S급 뮤비라고 생각합니다.



또한 음악이 좋고, 편곡이 잘되어있습니다. 괜찮은 이어폰을 끼고 볼륨크게 들어도 그렇게 깨지거나 잘못된걸 못 느꼈으니까요. 쿵쾅쿵쾅 거릴것 같지만 꽤 부드러운 음악이라 생각되네요. 결론은 작곡도 세계 정상급이라는 겁니다. 노래는 뭐 말할필요 없겠죠.

가사도 굉장히 맘에 듭니다. 영어로 된 곡이지만 한국어도 제법 있습니다. 인트로는 한국어로 시작하죠.

채영이가~ 좋아하는~ 랜덤~ 게임! 랜덤~ 게임! 게임~ 스타트!
아파트
건배
예전에 싸이가 강남스타일로 뜰때가 생각나네요. 그때 이후에는 별로 신선함을 못 느꼈었는데요, 그때보다 더 신선합니다.
글쓴시간
분류 문화,취미
샴푸, 트리트먼트, 린스

머리 감는 순서는 샴푸 → 트리트먼트 → 린스다.

사용자 삽입 이미지

샴푸는 두피와 모발의 이물질을 씻어내기 위한거라서 두피와 모발을 골고루 잘 닦아준다. 닦는다는 표현보다는 빨래빨듯이 빨아준다는 표현이 더 좋겠다. 머리긴 사람들은 정말 빨아야 하니깐 말이다. 두피도 샴푸로 닦아줘야 하는데 샴푸 후 두피에 문제가 생길 경우 샴푸를 바꿔야 한다. 자신에게 맞는 샴푸를 알아내는 일도 매우 중요하다. 지성/건성 두피도 나이가 들면 바뀌기도 하니 (점점 건성으로 바뀐다) 주기적으로 샴푸를 교체해 보자.

린스는 모발을 코팅하기 위해 사용한다. 컨디셔너라고도 부른다. 샴푸 후, 약간 젖은 머리에 린스를 적당량 덜어내어 모발에 발라준다. 가급적 두피에는 바르지 않는게 좋다. 두피에 바르라고 만든 제품이 아니다. 골고루 발라준 후 2 ~ 3분정도 있다가 잘 헹궈낸다. 2 ~ 3분 텀을 두지 않고 바로 헹궈내면 효과가 많이 떨어진다.

트리트먼트는 모발에 영양을 주기 위해 사용한다. 헤어팩이라고도 부른다. 주 1회 정도가 적당하고 (자주할 필요 없다), 샴푸 후, 린스 전에 사용한다. 린스와 마찬가지로 두피에 바르지 말아야 한다. (일부러 두피에 바르지 말라는 의미다) 사용하는 요령은 린스와 같은데, 10분 이상 있다가 헹궈야 한다. 영양은 모발에 스며들기 어렵기 때문이다. 린스를 하고 트리트먼트를 바르면 효과가 떨어진다.
글쓴시간
분류 문화,취미
Diablo 4

2023.06.06 출시. 일반판은 84500 원.

사용자 삽입 이미지


디아블로3 가 2012년에 출시되었다. 그 이후 약 11년만에 디아블로 4가 출시되었다. 2012년은 여러모로 나에게 힘든 해였기 때문에 정확히 기억하고 있다. 이번에도 목표가 레벨 100 만드는 거다. 디아블로 3는 100 못 만들었던걸로 기억한다. 이번에는 가능할지 모르겠다.

평소였다면 게임 최소사양을 간신히 맞추는 정도였겠지만, AI 하느라고 PC를 업그레이드해 놓는 바람에 높음사양까지 맞출 수 있게 되었다. 결과적으로 1080p 해상도에서 최대 옵션으로 놓고 하고 있다.

사용자 삽입 이미지

일주일 늦게 시작하는거지만 열심히 할 생각. 당연히 마법사로 시작했다. 평은 레벨 올리기엔 편하지만, 후반부 갈수록 조금 약하다는 듯.
글쓴시간
분류 문화,취미
더 글로리

사용자 삽입 이미지

더 글로리 1부 포스터


사용자 삽입 이미지

더 글로리 2부 포스터


드디어 길고 길었던 동은이의 복수가 끝났다. 2023-03-10 17:00 에 공개된 최종화를 이제 다 보았다. 구체적인 내용을 적고 싶지만 한달만 참아야쥐. 여기 들어오는 사람들도 많을테니깐.

- 그래도 나름 행복한 결말이라 맘에 들었다. 우리나라 드라마는 결말이 행복해서 참 좋다.

- 2차 포스터에 단테의 신곡 지옥편의 문구가 써 있다. 매우 인상적.

Lasciate ogni speranza, voi ch'entrate
모든 희망을 버려라, 들어가는 자여
글쓴시간
분류 문화,취미/영화
스즈메의 문단속

사용자 삽입 이미지

스즈메의 문단속을 보고 왔다. 우리나라는 2023년 3월 8일 개봉이지만, 일본에서는 2022년 11월 11일에 개봉한거라 2022년 영화다.

사용자 삽입 이미지

오랜만에 영화관에서 보고왔다. 굉장히 여운이 남는 작품. 끝나고 스탭롤 다 올라갈때까지 자리에 계속 있었다. 단연컨데 신카이 마코토의 작품 중에서 최고라고 꼽을 수 있겠다.

사용자 삽입 이미지

아직 개봉한지 얼마 안되어 스포할만한 내용은 안 쓰겠다.

1. 음향 좋은 영화관에서 보는걸 추천. 음악도 매우 좋다.
2. 우연하게도 오늘 봤는데 영화에서도 오늘이 나왔다.
3. 나름 추억 돋는 음악도 나왔다. 중간에 음악어플로 가요를 돌려듣는게 있는데, 男と女のラブゲーム (남자와 여자의 러브게임) 이 특히 기억난다. 한 반정도는 어떤곡인지 알아들은것 같다. 이런 노래를 안다는건 나도 너무 나이가 들어가는 건감.

사용자 삽입 이미지

PV



OST 가 너무 좋다.

글쓴시간
분류 문화,취미/검은사막 모바일
검은사막 모바일 위치 의상: 살라나르

사용자 삽입 이미지

검은사막 모바일에서 마법사 계열 클래스에게 준 의상. 위치는 2022.11.22 에 출시되었다.

사용자 삽입 이미지

사용자 삽입 이미지

의상 장식에 마법 문자가 그려진 장식이 있고 전체적인 분위기가 마법사 모임에 참석하러 간 위치가 연상된다.

사용자 삽입 이미지

디테일은 상당한 수준.

사용자 삽입 이미지

저런 핸드백 하나 있으면 한다.

사용자 삽입 이미지

베레모 처럼 생긴 모자도 상당히 어울린다.

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 문화,취미/검은사막 모바일
검은사막 모바일 위치 의상: 자렛의 갑옷

사용자 삽입 이미지

2022.11.08 출시된 벨루치 루비 1개, 최고급 경화 가죽 10개, 장인의 실타래 300개 으로 제작할 수 있는 갑옷. 꽤 많은 재화를 필요로 한다.

사용자 삽입 이미지
사용자 삽입 이미지

자렛은 게임 초반에 나오는 조르다인의 약혼녀다. 조르다인은 세렌디아의 시종장이고, 세렌디아의 복수를 위해 칼페온에 복수심을 품지만 결국 어둠의 군주 벨모른에게 의식이 잠식된다. 물론 주인공이 이걸 깨어주는 역할을 한다.

남성 클래스는 "조르다인 평상복", 여성 클래스는 "자렛의 갑옷"이다. 샤이 캐릭터로는 나오지 않았다.

사용자 삽입 이미지

사용자 삽입 이미지

귀족이 입는 갑옷답게 꽤 화려하다. 전장에서 이렇게 입고 있으면 안될꺼 같은데 말이다.

사용자 삽입 이미지

꽤 괜찮은 의상이고 디테일도 있지만 오랫동안 입지는 않을 것 같다. 역시 위치는 갑옷이 별로 어울리질 않는다.

사용자 삽입 이미지
글쓴시간
분류 문화,취미/검은사막 모바일
검은사막 모바일 위치 의상: 아퀼라

사용자 삽입 이미지

노바의 아퀼라 의상이 의상 바꿔입기 이벤트로 나왔다.

사용자 삽입 이미지
사용자 삽입 이미지

역시 위치의 남다른 미모가 발휘되는 의상이다. 하지만 어딘가 귀족분위기가 나는 황금빛 의상이라 발랄하고 귀여운 느낌의 위치와는 약간 이질감이 느껴진다.

사용자 삽입 이미지

노바를 대표하는 의상이었기 때문에 디테일은 상당한 수준이다.

사용자 삽입 이미지
사용자 삽입 이미지

정작 위치의 의상을 가져간 캐릭터가 없다. 워낙 위치의 아이덴티티를 잘 나타내주는 의상이 많아서 다른 클래스가 입으면 별로 어울리지 않아서이라고 추측 해본다.

사용자 삽입 이미지
글쓴시간
분류 문화,취미

Licensed by Royalty (L/R)

사용자 삽입 이미지

이슈탈 왕실로부터 면허를 받은 요원. 왕실근위대 CLOUD7에 속한 로우와 잭와 활약을 다룬 이 에니는 불행이도 우리나라에서는 별로 인기를 얻지 못한 에니중 하나이다. 운이 없었다고 생각한다. 이 에니가 나온 2003년 초에는 다른 쟁쟁한 에니가 많았기 때문이다. 처음 볼때는 카우보이 비밥을 생각나게 하는 에니였지만 몇 편 보다보면 조금 다르다는 생각이 들게 될 것이다.

 

스토리의 주 내용은 15년전 잃어버린 공주 노엘이 등장하면서 시작된다. 아이보리 스톤이란 에너지광석이 나지만, DTI와 왕실에 뺏겨버린, 가난한 섬 아이보리. 그곳에서 살고있는 왕실의 왕위권 계승자 노엘공주. 하지만 기억을 잃은듯, 자신이 공주라는 것은 알지 못한다. DTI. 이슈탈왕국의 각종 이권을 가지고 있는 DTI사와 란도우 공에 의해 피폐해진 아이보리. 때마침 불어온 태풍에 부숴진, 마을의 시계탑을 수리할 돈을 모금하기 위해 노엘은 노래를 부른다. 그 노래가 바로 Ange. 노엘의 어머니 시엘이 노엘을 위해 지은 자장가.

 

Ange, Holy Ange

On a Friday gold room, rock rings shown

On Saturday yellow moon, rook kiss brown

On Sunday black noon, knock his crown

On Monday Ivory roof, look peace town

On Tuesday rod cocoon, clock tick a dawn

On Wednesday green soup, cook sleep grown

On Thursday cloud soot, tomb beep gown

And on the Friday white bloom, wing falling down

Ange, Holy Ange, sleep pretty darling

sleep pretty darling


위의 가사가 바로 L/R의 줄거리이다. 필자가 이 에니를 본 중요한 이유. 바로 이 노래가 있었기 때문이다. 일단 노래 자체도 아름다웠고 좋았지만, 영시로 지어진 이 노래의 뜻을 알아보고자 끝까지 보게 되었다. (일본인이 부른거라 영어 발음이 알아듣기 힘든것도 난해한 이유중 하나이다)영시라 이해한다는것이 쉬운일이 아니지만 내 생각엔 두가지 뜻이 있다. 하나는 단순한 자장가로 보는 것으로 영어 단어 그대로 해석하면 되지만 다른 하나는 노엘이 자신의 왕위를 다시 찾아주고자 하는 바램을 노래한 것이라면 내용이 달라지게 된다. 가사를 생각하면서 에니를 보면 재미있다. 비리에 얼룩진 이슈탈 왕국을 바로 잡는 일은 이미 15년전부터 시작되었다는 반전이 볼만하다.

 

주의: L/R은 TV판과 DVD판이 다르다. TV판은 총 12화, DVD판은 총 13화로 DVD판에는 4화 砂漠の祭典(사막의 제전)/Sweet enemies in the same desert 이 추가되어있다. 가급적 DVD판으로 감상하시길...