{"id":9881,"date":"2025-02-04T17:20:07","date_gmt":"2025-02-04T08:20:07","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=9881"},"modified":"2025-10-09T09:52:10","modified_gmt":"2025-10-09T00:52:10","slug":"deepseek-r1-%eb%a1%9c%ec%bb%acpc%ec%97%90%ec%84%9c-%ec%8b%a4%ed%96%89%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=9881","title":{"rendered":"DeepSeek R1 \ub85c\uceec(PC)\uc5d0\uc11c \uc2e4\ud589\ud558\uae30"},"content":{"rendered":"<h1>DeepSeek R1 \ub85c\uceec(PC)\uc5d0\uc11c \uc2e4\ud589\ud558\uae30<\/h1>\n<h2>Ollama \uc124\uce58<\/h2>\n<p><a href=\"https:\/\/ollama.com\/\">\ub2e4\uc6b4\ub85c\ub4dc<\/a><\/p>\n<pre><code class=\"language-bash\">with cmd:\n\n.\\OllamaSetup.exe\n# .\\OllamaSetup.exe \/DIR=D:\\OllamaApp\n\nwith powershell:\n\nStart-Process -FilePath &quot;.\\OllamaSetup.exe&quot;\n# Start-Process -FilePath &quot;.\\OllamaSetup.exe&quot; -ArgumentList &#039;\/DIR=D:\\OllamaApp&#039; -Wait<\/code><\/pre>\n<p>\ub3c4\uc2a4\ucc3d\uc5d0\uc11c \uc124\uce58\ub41c \uac83\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">ollama -v<\/code><\/pre>\n<h2>DeepSeek R-1 \uc124\uce58<\/h2>\n<ul>\n<li>Ollama\ub97c \uc2e4\ud589\ud55c \ub4a4 Models \ud0ed\uc73c\ub85c \uc774\ub3d9<\/li>\n<li>deepseek \uac80\uc0c9<\/li>\n<li>\n<p>deepseek-r1 \ub2e4\uc6b4\ub85c\ub4dc<\/p>\n<pre><code class=\"language-bash\">ollama run deepseek-r1:8b\n# ollama run deepseek-r1:1.5b<\/code><\/pre>\n<\/li>\n<\/ul>\n<h2>\ud544\uc694\ud55c GPU<\/h2>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2025\/02\/2025-02-04-01.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2025\/02\/2025-02-04-01.png\" alt=\"\" \/><\/a><\/p>\n<h2>\ucd94\uac00 \ud559\uc2b5\ub41c AI \ub2e4\uc6b4\ub85c\ub4dc<\/h2>\n<p>\uacf5\uc2dd\uc801\uc73c\ub85c \ubc30\ud3ec\ub418\ub294 AI \ub294 \ud55c\uad6d\uc5b4\ub97c \uc798 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.<br \/>\n\ud55c\uad6d\uc5b4 \ud559\uc2b5\uc744 \ucd94\uac00\ub85c \uc2dc\ucf1c\uc900 AI \ub3c4 \ubc30\ud3ec\ub418\uace0 \uc788\ub294 \uac83\uc774 \uc788\uc73c\ub2c8 \ucc3e\uc544\uc11c \ub2e4\uc6b4\ubc1b\uc790.<\/p>\n<h2>\uc778\ud130\ud398\uc774\uc2a4 \uac1c\uc120<\/h2>\n<p><a href=\"https:\/\/datasciencebeehive.tistory.com\/247\">\ucc38\uc870<\/a><\/p>\n<h2>\ud55c\uad6d\uc5b4 \uc790\uccb4\uc801\uc73c\ub85c \ucd94\uac00\ud559\uc2b5<\/h2>\n<h1><strong>\uc544\ub798 \ub0b4\uc6a9\uc740 \uad6c\uae00\ub9c1\ub9cc \ud55c \uac83\uc73c\ub85c \uc2e4\uc81c \ud14c\uc2a4\ud2b8 \ub41c \ub0b4\uc6a9\uc774 \uc544\ub2d9\ub2c8\ub2e4<\/strong><\/h1>\n<h3>\ud558\ub4dc\uc6e8\uc5b4 \uc900\ube44 (AWS)<\/h3>\n<p>p4d.24xlarge \ub610\ub294 p5<\/p>\n<pre><code class=\"language-bash\">GPU: NVIDIA A100 8\uac1c (80GB \uac01 GPU)\nCPU: \uace0\uc131\ub2a5 \ud504\ub85c\uc138\uc11c\nRAM: \ucd5c\uc18c 512GB\n\uc2a4\ud1a0\ub9ac\uc9c0: \ucd5c\uc18c 2TB (\ub370\uc774\ud130\uc14b \ubc0f \ubaa8\ub378 \ud06c\uae30 \uace0\ub824)<\/code><\/pre>\n<pre><code class=\"language-bash\"># \uae30\ubcf8 \uc124\uce58\nsudo apt update\nsudo apt install -y build-essential git wget\n\n# GPU \ub4dc\ub77c\uc774\ubc84 \uc124\uce58 (CUDA 11.8 \uc608\uc81c)\nwget https:\/\/developer.download.nvidia.com\/compute\/cuda\/11.8.0\/local_installers\/cuda_11.8.0_520.61.05_linux.run\nsudo sh cuda_11.8.0_520.61.05_linux.run<\/code><\/pre>\n<p>\uc608\uc0c1\ube44\uc6a9 : 1600 ~ 6500\ub2ec\ub7ec<\/p>\n<h3>\ud559\uc2b5 \ud504\ub808\uc784\uc6cc\ud06c \uc124\uce58<\/h3>\n<pre><code class=\"language-bash\">python3 -m venv venv\nsource venv\/bin\/activate\npip install --upgrade pip\npip install torch torchvision transformers datasets tqdm konlpy<\/code><\/pre>\n<h3>\ub370\uc774\ud130\uc14b \uc900\ube44<\/h3>\n<pre><code class=\"language-bash\">pip install konlpy\n# KoGPT \ub370\uc774\ud130 \ub2e4\uc6b4\ub85c\ub4dc (\ub9c1\ud06c \ud655\uc778 \ud544\uc694)\nwget &lt;KoGPT \ub370\uc774\ud130\uc14b URL&gt; -O \/path_to_dataset\/kogpt_dataset.json<\/code><\/pre>\n<p>\uc804\ucc98\ub9ac<\/p>\n<pre><code class=\"language-python\">from konlpy.tag import Mecab\nimport json\n\nmecab = Mecab()\n\ndef preprocess_data(filepath):\n    with open(filepath, &#039;r&#039;) as file:\n        raw_data = json.load(file)\n    processed_data = []\n\n    for entry in raw_data:\n        korean_text = entry[&#039;text&#039;]  # \ub370\uc774\ud130\uc14b \uad6c\uc870\uc5d0 \ub9de\uac8c \uc218\uc815\n        tokenized = mecab.morphs(korean_text)\n        processed_data.append(&quot; &quot;.join(tokenized))  # \uacf5\ubc31\uc73c\ub85c \ud1a0\ud070 \uad6c\ubd84\n\n    return processed_data\n\nprocessed_data = preprocess_data(&quot;\/path_to_dataset\/kogpt_dataset.json&quot;)\noutput_path = &quot;\/path_to_dataset\/processed_kogpt.txt&quot;\nwith open(output_path, &#039;w&#039;) as file:\n    file.write(&quot;\\n&quot;.join(processed_data))<\/code><\/pre>\n<h3>ollama \ubaa8\ub378\uc744 \ub2e4\uc6b4\ub85c\ub4dc<\/h3>\n<pre><code class=\"language-bash\">ollama pull &lt;model-name&gt;\n# or\ngit clone https:\/\/github.com\/Ollama\/models.git<\/code><\/pre>\n<pre><code class=\"language-bash\">from transformers import AutoModelForCausalLM, AutoTokenizer\n\n# Hugging Face Ollama \ubaa8\ub378 \ub85c\ub529\nmodel_path = &quot;\/path_to_model&quot;\nmodel = AutoModelForCausalLM.from_pretrained(model_path)\ntokenizer = AutoTokenizer.from_pretrained(model_path)\n\nfrom transformers import pipeline\n\ndevice_map = &quot;auto&quot;  # GPU \uba54\ubaa8\ub9ac \uc790\ub3d9 \ud560\ub2f9\nmodel = model.half().to(device_map)  # FP16\uc73c\ub85c \ubcc0\ud658<\/code><\/pre>\n<h3>\ubaa8\ub378\uc744 \ub85c\uceec \ud658\uacbd\uc5d0 \uc800\uc7a5<\/h3>\n<pre><code class=\"language-bash\"># \uc608\uc2dc \uacbd\ub85c\nmodels\/my_model\/\n  \u2514\u2500\u2500 pytorch_model.bin\n  \u2514\u2500\u2500 config.json\n  \u2514\u2500\u2500 tokenizer.json<\/code><\/pre>\n<h3>\ubaa8\ub378 \ub85c\ub4dc<\/h3>\n<pre><code class=\"language-python\">from transformers import AutoModelForCausalLM\n\nmodel = AutoModelForCausalLM.from_pretrained(&quot;ollama-model-directory&quot;)<\/code><\/pre>\n<h3>\ucd94\uac00 \ud559\uc2b5 \uc124\uc815<\/h3>\n<pre><code class=\"language-python\">from transformers import TrainingArguments\n\ntraining_args = TrainingArguments(\n    output_dir=&quot;.\/finetuned_model&quot;,\n    per_device_train_batch_size=8,\n    num_train_epochs=3,\n    save_steps=500,\n    evaluation_strategy=&quot;steps&quot;,\n    logging_dir=&quot;.\/logs&quot;,\n    learning_rate=5e-5,\n    fp16=True,  # GPU FP16 \uc9c0\uc6d0\n)<\/code><\/pre>\n<pre><code class=\"language-python\">from datasets import load_dataset\n\ndataset = load_dataset(&quot;path\/to\/your-dataset&quot;)<\/code><\/pre>\n<h3>\ud559\uc2b5 \uc2e4\ud589<\/h3>\n<pre><code class=\"language-python\">from transformers import Trainer\n\ntrainer = Trainer(\n    model=model,\n    args=training_args,\n    train_dataset=dataset[&quot;train&quot;],\n    eval_dataset=dataset[&quot;validation&quot;],\n    tokenizer=tokenizer,\n)\n\ntrainer.train()\n\ntrainer.save_model(&quot;.\/finetuned_model&quot;)\ntokenizer.save_pretrained(&quot;.\/finetuned_model&quot;)<\/code><\/pre>\n<h3>\ubaa8\ub378 \ud14c\uc2a4\ud2b8<\/h3>\n<pre><code class=\"language-python\">from transformers import pipeline\n\nfinetuned_model = pipeline(&quot;text-generation&quot;, model=&quot;.\/finetuned_model&quot;, tokenizer=&quot;.\/finetuned_model&quot;)\nresult = finetuned_model(&quot;\uc548\ub155\ud558\uc138\uc694. \uc624\ub298 \ub0a0\uc528\ub294&quot;)\nprint(result)<\/code><\/pre>\n<h3>ollama \ubaa8\ub378\ub85c \uc7ac\ubc30\ud3ec<\/h3>\n<pre><code class=\"language-bash\">ollama push &lt;model-name&gt; .\/finetuned_model<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>DeepSeek R1 \ub85c\uceec(PC)\uc5d0\uc11c \uc2e4\ud589\ud558\uae30 Ollama \uc124\uce58 \ub2e4\uc6b4\ub85c\ub4dc with cmd: .\\OllamaSetup.exe # .\\OllamaSetup.exe \/DIR=D:\\OllamaApp with powershell: Start-Process -FilePath &quot;.\\OllamaSetup.exe&quot; # Start-Process -FilePath &quot;.\\OllamaSetup.exe&quot; -ArgumentList &#039;\/DIR=D:\\OllamaApp&#039; -Wait \ub3c4\uc2a4\ucc3d\uc5d0\uc11c \uc124\uce58\ub41c \uac83\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. ollama -v DeepSeek R-1 \uc124\uce58 Ollama\ub97c \uc2e4\ud589\ud55c \ub4a4 Models \ud0ed\uc73c\ub85c \uc774\ub3d9 deepseek \uac80\uc0c9 deepseek-r1 \ub2e4\uc6b4\ub85c\ub4dc ollama run deepseek-r1:8b # ollama run deepseek-r1:1.5b \ud544\uc694\ud55c GPU \ucd94\uac00 \ud559\uc2b5\ub41c\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=9881\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-9881","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/9881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9881"}],"version-history":[{"count":8,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/9881\/revisions"}],"predecessor-version":[{"id":10901,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/9881\/revisions\/10901"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}