์ค์น ์์ด AI ๋ฌด๋ฃ๋ก ํ์ฉ ๋ฐ์ดํฐ ๋ถ์ ์์ํ๋ ์ต๊ณ ์ ๋ฐฉ๋ฒ
Python, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋, AI ๋ฐ์ดํฐ ๋ถ์์ ์์ํ๊ณ ์ถ์ง๋ง, ๋ณต์กํ ๊ฐ๋ฐ ํ๊ฒฝ์ด๋ ์ปดํจํฐ ์ฌ์ ๋ฌธ์ ๋๋ฌธ์ ๋ง์ค์ด์
จ๋์?
AI ์ฝ๋ฉ์ ํ๋ ค๋ฉด ์ฝ๋ฉ์ ๋ํ ๊ธฐ์ด ์ง์๋ ํ์ํ์ง๋ง, ๊ทธ๋ณด๋ค ๋ ํ์ค์ ์ธ ์ฅ๋ฒฝ์ AI ์์
์ ์ํํ ์ํํ ์ ์๋ ์ปดํจํฐ ํ๊ฒฝ์
๋๋ค. AI ์ฝ๋ฉ, ํนํ ๋จธ์ ๋ฌ๋์ด๋ ๋ฅ๋ฌ๋์ ๋ณธ๊ฒฉ์ ์ผ๋ก ํ๋ ค๋ฉด ์ปดํจํฐ ์ฌ์ ์ค ๊ฐ์ฅ ํต์ฌ์ด ๋๋ ๋ถํ์ ๋ฐ๋ก GPU(๊ทธ๋ํฝ์นด๋)์
๋๋ค.
๊ทธ ์ด์ ๋ AI ๋ชจ๋ธ์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ ํ๋ ฌ ์ฐ์ฐ์ด ๋ฐ๋ณต์ ์ผ๋ก ์ํ๋๋๋ฐ, GPU๋ ์ด๋ฌํ ๋ณ๋ ฌ ์ฐ์ฐ์ ์ต์ ํ๋์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. CPU๋ณด๋ค ํจ์ฌ ๋น ๋ฅธ ์๋๋ก ๋ชจ๋ธ์ ํ์ต์ํฌ ์ ์์ด ์ ์ฒด ์์
ํจ์จ์ฑ๊ณผ ์ฒ๋ฆฌ ์๋์์ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค์ด๋
๋๋ค.
ํ์ง๋ง ์ด๋ฐ ์ฌ์์ ๊ฐ์ถ๋ ๊ฒ ์ฝ์ง๋ ์์ฃ ?
AI ์ฝ๋ฉ์ ํ๊ธฐ ์ํด ๊ณ ๊ฐ์ GPU๋ฅผ ์ฅ์ฐฉํ ์ปดํจํฐ๋ฅผ ๋ง๋ จํ๋ ๊ฒ์ ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ ๋ถ๋ด์ด ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ๋คํํ๋, ์ด์ ๋ ๊ณ ์ฌ์ ์ฅ๋น๊ฐ ์์ด๋ ํ๋ฅญํ ๋์์ด ์์ต๋๋ค.
AI ๋ชจ๋ธ ํ์ต์ ์ฒ์ ์์ํ๋ค๋ฉด? Google Colab์ด ์ ๋ต์ธ ์ด์
Google Colab(๊ตฌ๊ธ ์ฝ๋ฉ) ํ๋๋ฉด ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก AI ์ค์ต๊ณผ ๋ฐ์ดํฐ ๋ถ์์ ์์ํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ Google Colab์ด ๋ฌด์์ธ์ง๋ถํฐ ์ฃผ์ ๊ธฐ๋ฅ, ํ์ฉ๋ฒ, ์ฃผ์์ฌํญ๊น์ง ์ ๋ฆฌํด ๋๋ฆฝ๋๋ค. ํนํ ์ด๋ณด์์ ์ค๋ฌด์ ๋ชจ๋๋ฅผ ์ํ ์ค์ง์ ์ธ ํ์ฉ ํ์ ์ค์ฌ์ผ๋ก ๋ค๋ฃจ์์ต๋๋ค.

๋ฌด๋ฃ AI ์ฝ๋ฉ Google Colab ์๊ฐ
Google Colaboratory, ์ค์ฌ์ Colab์ ๊ตฌ๊ธ์ด ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ Python ์ฝ๋ ์คํ ํ๊ฒฝ์ ๋๋ค. ๋ณต์กํ ์ค์น ๊ณผ์ ์์ด, ์น ๋ธ๋ผ์ฐ์ ๋ง ์์ผ๋ฉด ์ธ์ ์ด๋์๋ Python ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํํ ์ ์์ต๋๋ค.
ํนํ GPU, TPU ๋ฑ ๊ณ ์ฑ๋ฅ ์ฐ์ฐ ์ฅ๋น๋ฅผ ๋ฌด๋ฃ ๋๋ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ฌ์ฉํ ์ ์์ด, ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋์ ์ต์ ํ๋ ํ๋ซํผ์ผ๋ก ํ๊ฐ๋ฐ๊ณ ์์ต๋๋ค.
Colab์ ์ฃผ์ ํ์ฉ ๋ถ์ผ

1. ๋ฐ์ดํฐ ๋ถ์๊ณผ ๋จธ์ ๋ฌ๋ ์ค์ต
- Pandas, NumPy, scikit-learn, TensorFlow ๋ฑ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋น ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ถ์ ๋ฐ AI ๋ชจ๋ธ ํ์ต์ ํด๋ผ์ฐ๋์์ ๊ตฌํ ๊ฐ๋ฅ
2. ๋ฅ๋ฌ๋ ๋ฐ ํ๋กํ ํ์ ํ ์คํธ
- GPU/TPU๋ฅผ ํ์ฉํด ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ด๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ๋ ๋น ๋ฅด๊ฒ ํ ์คํธ ๊ฐ๋ฅ
- ์ฐ๊ตฌ์๋ ์คํํธ์ ๊ฐ๋ฐ์์๊ฒ ์ด์์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ
3. ๊ต์ก์ฉ ์ฝ๋ฉ ์ค์ต ํ๋ซํผ
- ๊ตฌ๊ธ ๊ณ์ ๋ง ์์ผ๋ฉด ๋๊ตฌ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ค์๊ฐ ์ฝ๋ ๊ณต์ ๋ฐ ํผ๋๋ฐฑ์ผ๋ก ์จ๋ผ์ธ ๊ฐ์,์ํฌ์์ ์ต์ ํ
4. ํ์ ํ๋ก์ ํธ ๋ฐ ์ฝ๋ ๊ณต์
- ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋ก์ ํธ ์ ๋ ธํธ๋ถ ๊ณต์ ๋ฐ ๊ณต๋ ํธ์ง ๊ฐ๋ฅ
- ๊นํ๋ธ์ ์ฐ๋ํ์ฌ ๋ฒ์ ๊ด๋ฆฌ๋ ๊ฐ๋ฅ
Colab์ ์ฌ์ฉํ๋ ์ด์
์ฅ์ | ์ค๋ช |
์ค์นไธ่ฆ | Python ํ๊ฒฝ ๊ตฌ์ถ ์์ด ์ฆ์ ์ฝ๋ ์คํ ๊ฐ๋ฅ |
๋ฌด๋ฃ GPU/TPU ์ ๊ณต | ๋ฅ๋ฌ๋ ํ๋ จ์ ํ์ํ ๊ณ ์ฌ์ ๋ฆฌ์์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ฌ์ฉ |
ํด๋ผ์ฐ๋ ์ ์ฅ | ๋ ธํธ๋ถ ์๋ ์ ์ฅ, ๊ธฐ๊ธฐ์ ์ฅ์์ ์๊ด์์ด ์ ๊ทผ ๊ฐ๋ฅ |
๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์ฐ๋ | ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ, ๊ฒฐ๊ณผ ์ ์ฅ, ๋ฐฑ์ ๊น์ง ํจ์จ์ ์ธ ์ํฌํ๋ก์ฐ ๊ตฌ์ถ |
๐ HP 2024 AI ๋
ธํธ๋ถ
HP 2024 ์๋น์ค AI ๋
ธํธ๋ถ 15.6 ์ฝ์ด ์ธํธ๋ผ 5-125H ์ธํ
14์ธ๋
Google Colab ์ฌ์ฉ๋ฒ
1. ์์ ๋ฐฉ๋ฒ
- Colab ๊ณต์ ์ฌ์ดํธ ์ ์
- ๊ตฌ๊ธ ๊ณ์ ๋ก๊ทธ์ธ
- ์ ๋ ธํธ๋ถ ํด๋ฆญํ์ฌ ์์
2. ์ฝ๋ ์คํ
- ์ ์ Python ์ฝ๋ ์์ฑ ํ Shift + Enter ๋๋ โถ๏ธ ํด๋ฆญ์ผ๋ก ์คํ
3. ๋ฐ์ดํฐ ์ ๋ก๋ ๋๋ผ์ด๋ธ ์ฐ๊ฒฐ
- ํ์ผ ํญ ํ์ผ ์ ๋ก๋
- ๋๋ ๋ค์ ์ฝ๋๋ฅผ ํตํด ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์ฐ๊ฒฐ:
from google.colab import drive drive.mount('/content/drive')
4. ํจํค์ง ์ค์น
- ์ ์ ํฐ๋ฏธ๋ ๋ช ๋ น์ด ํ์์ผ๋ก ์ค์น:
-
!pip install numpy pandas matplotlib
5. ๋ ธํธ๋ถ ์ ์ฅ
- ์๋ ์ ์ฅ๋จ (๊ตฌ๊ธ ๋๋ผ์ด๋ธ)
- ํ์ผ ์ฌ๋ณธ ์ ์ฅ ์ผ๋ก ๋ฐฑ์ ๊ฐ๋ฅ

Colab ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
์ฃผ์ ์ฌํญ | ์ค๋ช |
---|---|
์ธ์ ์๊ฐ ์ ํ | ๋ฌด๋ฃ ์ฌ์ฉ์๋ ์ฝ 12์๊ฐ๋ง๋ค ์ฐ๊ฒฐ ์ข ๋ฃ (์๋ ์ ์ฅ๋จ) |
๋ฆฌ์์ค ์ ์ฝ | ๊ณผ๋ํ GPU ์ฌ์ฉ ์ ์ผ์์ ์ผ๋ก ๋ฆฌ์์ค ์ ํ๋ ์ ์์ |
์ฅ๊ธฐ ํ๋ก์ ํธ ํ๊ณ | ์ง์์ ์ธ ๊ฐ๋ฐ์๋ ๋ก์ปฌ ํ๊ฒฝ ๋๋ GCP ๋ฑ ํด๋ผ์ฐ๋ ๋ณํ ๊ถ์ฅ |
Google Colab์ ๋๊ตฌ์๊ฒ๋ ์ด๋ฆฐ AI ์ค์ต ํ๊ฒฝ์ ๋๋ค
์๋๋ ๊ฐ๋จํ ์ฝ๋๋ NAVER์ HyperCLOVA X ๋ชจ๋ธ์ ํ์ฉํ ๊ฐ๋จํ CLI(Chatbot) ํ๋ก๊ทธ๋จ์ ๋๋ค.
์ด ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ํฉ๋๋ค.
๊ธฐ๋ฅ | ์ค๋ช |
---|---|
๋ชจ๋ธ ๋ก๋ฉ | NAVER HyperCLOVA-X ๋ชจ๋ธ์ ์๋์ผ๋ก ๋ถ๋ฌ์ด |
๋ํ ๊ด๋ฆฌ | ์์คํ ๋ฉ์์ง๋ถํฐ ์ฌ์ฉ์-๋ชจ๋ธ ๊ฐ ๋ํ ํ์คํ ๋ฆฌ๋ฅผ ์ ์ง |
์์ฐ์ด ์๋ต ์์ฑ | ์ ๋ ฅ์ ๋ฐ์ ์ ์ ํ ํ ์คํธ ์๋ต์ ์์ฑ |
CLI ์ธํฐํ์ด์ค | ์ฝ์์์ ์ค์๊ฐ ๋ํ ๊ฐ๋ฅ |
๋ค์ด๋ฒ ๋ฌด๋ฃ AI HyperCLOVA X ์ฑ๋ด ์ ์ฒด ์์ ์ฝ๋
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
class ChatBot:
def __init__(self):
# GPU ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ ํ ๋๋ฐ์ด์ค ์ค์
self.device = "cuda" if torch.cuda.is_available() else "cpu"
# ์ฌ์ฉํ ์ฌ์ ํ์ต ๋ชจ๋ธ ์ด๋ฆ
self.model_name = "naver-hyperclovax/HyperCLOVAX-SEED-Vision-Instruct-3B"
# ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ๋ณ์ ์ด๊ธฐํ
self.model = None
self.tokenizer = None
# ๋ํ ์ด๊ธฐ ์์คํ
๋ฉ์์ง ์ค์
self.chat_history = [
{"role": "system", "content": "๋น์ ์ ์น์ ํ AI ์ด์์คํดํธ์
๋๋ค. ์์ฐ์ค๋ฌ์ด ๋ํ๋ฅผ ์ด์ด๊ฐ์ฃผ์ธ์."}
]
def load_model(self):
"""์ฌ์ ํ์ต๋ ๋ชจ๋ธ๊ณผ ํ ํฌ๋์ด์ ๋ก๋"""
print("๋ชจ๋ธ ๋ก๋ ์ค... (์ฒ์ ์คํ ์ ์๊ฐ์ด ์์๋ ์ ์์ต๋๋ค)")
self.model = AutoModelForCausalLM.from_pretrained(
self.model_name,
trust_remote_code=True,
device_map="auto",
torch_dtype=torch.float16 # ์๋ ํฅ์์ ์ํด FP16 ์ฌ์ฉ
)
self.tokenizer = AutoTokenizer.from_pretrained(
self.model_name,
trust_remote_code=True
)
print("๋ชจ๋ธ ๋ก๋ ์๋ฃ!\n")
def generate_response(self, user_input):
"""์ฌ์ฉ์ ์
๋ ฅ์ ๋ํด ๋ชจ๋ธ ์๋ต ์์ฑ"""
try:
# ์ฌ์ฉ์ ์
๋ ฅ์ ๋ํ ํ์คํ ๋ฆฌ์ ์ถ๊ฐ
self.chat_history.append({"role": "user", "content": user_input})
# ํ ํฌ๋์ด์ ๋ฅผ ์ด์ฉํด ์
๋ ฅ ํ
์ ์์ฑ
inputs = self.tokenizer.apply_chat_template(
self.chat_history,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True
).to(self.device)
# ๋ชจ๋ธ์ ์ฌ์ฉํด ์๋ต ํ
์คํธ ์์ฑ
outputs = self.model.generate(
**inputs,
max_new_tokens=200,
do_sample=True,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.1
)
# ์์ฑ๋ ํ
์คํธ ํ์ฒ๋ฆฌ ๋ฐ ๋์ฝ๋ฉ
response = self.tokenizer.decode(
outputs[0][inputs["input_ids"].shape[-1]:],
skip_special_tokens=True
).strip()
# ์๋ต์ ๋ํ ํ์คํ ๋ฆฌ์ ์ถ๊ฐ
self.chat_history.append({"role": "assistant", "content": response})
return response
except Exception as e:
return f"์ค๋ฅ ๋ฐ์: {str(e)}"
def main():
# ์ฑ๋ด ์ธ์คํด์ค ์์ฑ ๋ฐ ๋ชจ๋ธ ๋ก๋
bot = ChatBot()
bot.load_model()
print("CLOVA X ์ฑ๋ด์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค!")
print("์ข
๋ฃํ๋ ค๋ฉด 'quit', 'exit', ๋๋ '์ข
๋ฃ'๋ฅผ ์
๋ ฅํ์ธ์.\n")
while True:
user_input = input("๋น์ : ")
# ์ข
๋ฃ ์กฐ๊ฑด
if user_input.lower() in ['quit', 'exit', '์ข
๋ฃ']:
print("๋ํ๋ฅผ ์ข
๋ฃํฉ๋๋ค. ์ข์ ํ๋ฃจ ๋์ธ์!")
break
# ๋น ์
๋ ฅ ์ฒ๋ฆฌ
if not user_input.strip():
print("๋ฉ์์ง๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.")
continue
# ์๋ต ์์ฑ ๋ฐ ์ถ๋ ฅ
print("AI: ", end="", flush=True)
response = bot.generate_response(user_input)
print(response + "\n")
if __name__ == "__main__":
main()
Google Colab์ AI, ๋ฐ์ดํฐ ๋ถ์, ๋ฅ๋ฌ๋ ๋ฑ์ ์ค์ตํ๊ณ ํ์ตํ๋ ค๋ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ต๊ณ ์ ์ ๋ฌธ ๋๊ตฌ์ ๋๋ค. ํ๊ฒฝ ์ค์ ์ด ํ์ ์๊ณ , ๊ณ ์ฑ๋ฅ GPU๊น์ง ํ์ฉ ๊ฐ๋ฅํ๋ ํ์ต ์๋๋ ๋น ๋ฆ ๋๋ค.
- ์ด๋ณด์: ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋์ ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ
- ๊ฐ๋ฐ์: ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ ํ ์คํธ ํ๊ฒฝ์ด ํ์ํ ๋ถ
- ์ฐ๊ตฌ์: ๋น ๋ฅธ ํ๋กํ ํ์ ๊ตฌํ๊ณผ ํ์ ์ด ํ์ํ ๋ถ
- ๊ต์ฌ/ํ์: ์จ๋ผ์ธ ์์ , ์ค์ต ๊ฐ์ ํ๊ฒฝ์ด ํ์ํ ๋ถ