ML,DL,LangChain

머신러닝을 위한 "로컬" 개발 환경 구축

  • -

일반적으로 머신러닝을 위해서는 Colab이나 Kaggle을 사용할 수 있고 가장 쉽게 접근할 수 있는 방법이다. 하지만 네트워크 상황이 여의치 않은 경우는 어쩔 수 없이 local 환경을 사용할 수밖에 없다.

이번 포스트에서는 머신러닝을 위해 필요한 로컬 개발환경을 구축해보자.

 

 

python 및 vscode

 

python

머신러닝을 위해서는 python 이 주로 사용된다. 설치는 next의 연속이다.

 

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

 

vscode extension

주로 사용할 IDE로는 VSCode이다. 파이썬과 연결하기 위해 2가지 extension을 설치해주자.

python extension
jupyter notebook extension

 

Hello Jupyter Notebook

 

블록의 종류

간단한 코드를 만들고 제대로 설정되었는지 확인해보자. 'New File' -> hello.ipynb를 이용해서 새로운 파일을 생성한다.  jupyter notebook은 블록 단위로 작성하는데 Generate, Code, Markdown 3가지 타입의 블록을 사용한다.

3가지 타입의 블록을 생성한다.

  • Generate는 Copilot과 채팅을 통해서 코드를 생성할 때 사용된다.
  • Code는 파이썬 코드를 직접 작성할 때 사용한다.
  • Markdown은 md 형태로 문서를 작성할 때 사용한다.

 

Markdown 작성 및 실행

Markdown을 클릭하고 다음 내용을 입력해보자. 

Markdown 작성

편집이 완료되면 우측 상단의 버튼에서 check 기호를 선택하거나 escap를 누르면 된다.

 

Code 작성 및 실행

기존의 블록에 mouse를 over 시키면 새로운 블록을 위한 베튼들이 활성화된다. 이번에는 Code를 클릭하고 다음의 내용을 입력해보자.

name = "hong"             # 변수 선언
print(f"hello {name}")    # formatter를 통한 변수 출력

[ctrl + enter] 등으로 실행시키면 최초 1회는 Kernel을 선택하게 된다.

Python environments -> 설치된 파이썬 선택 과정으로 Kernel을 결정하자.

커널 선택

우측 상단에 사용하려는 커널이 설정되고 실행시간, 실행 결과를 확인할 수 있다.

 

가상환경 설정

특히 파이썬은 관련 라이브러리의 업데이트 속도가 빨라서 충돌이 잦다. 따라서 프로젝트만의 고유 환경을 구성하는 것이 일반적이다. 

가상환경 구축을 위해 python 3.5 버전부터 venv가 표준 라이브러리에 내장되었기 때문에 추가로 설치할 필요는 없다. 가상환경을 생성하기 위한 디렉토리로 이동해서 다음 명령을 실행해주자.

python -m venv forai      # forai는 가상환경 이름

그럼 가상환경 이름과 동일한 폴더가 생성되고 내부에 [Scripts] 폴더가 생성되는데 내부에 여러 명령어들이 생성된다.

 

가상환경 활성화/비활성화

가상환경을 활성화 하기 위해서는 [Source] 내부의 activate 를 사용한다. 환경이 설정되면 (가상환경이름)이 경로에 표시된다.

C:\Users\itsme\[현재경로]>forai\Scripts\activate.bat      # forai는 가상환경 이름

(forai) C:\Users\itsme\[현재경로]>

비활성화를 위해서는 deactivate를 사용한다.

deactivate

 

가상환경 설정 및 실행

이제 [Select Kernel] 부분 (또는 Python3.13.7)을 클릭해서 커널을 변경해보자.

가상 환경 설정

이제 다른 환경과 독립적으로 사용할 수 있게 되었다. 실행해보면 가상 환경에 추가로 jupyter notebook 관련 라이브러리를 설치하는데 이후의 동작은 동일하다.

 

 

Pytorch와 CUDA 설치

 

Pytorch?

파이토치는 딥 러닝 모델을 구축하기 위한 프레임워크이다. 이 분야에서는 원래 Google의 TensorFlow가 유명했는데 이에 대항하는건 아니고. 페이스북에서 만들었고 최근에는 더욱 많이 사용된다.

직접 설치하기 | 파이토치 한국 사용자 모임

 

파이토치 한국 사용자 모임 (PyTorch Korea User Group)

파이토치 한국 사용자 모임에 오신 것을 환영합니다. 딥러닝 프레임워크인 파이토치(PyTorch)를 사용하는 한국어 사용자들을 위해 문서를 번역하고 정보를 공유하고 있습니다.

pytorch.kr

 

PyTorch는 GPU에 대한 탁월한 지원과 계산 그래프를 즉시 수정할 수 있는 후진 방식 자동 미분 기능을 사용하는 것이 특징입니다. 따라서 빠른 실험과 프로토타이핑을 위해 널리 사용된다. PyTorch에서 GPU를 사용하기 위해서는 별도의 모델이 필요한데 가장 많이 사용되는 것이 NVIDIA에서 개발한 CUDA이다.

 

CUDA 설치

cuda를 설치하기 위해서는 cuda를 지원하는 그래픽 카드가 필요하다.

 

 

Pytorch 설치

다음으로 pytorch를 설치해보자. 

적절한 환경을 선택하고 "이 명령을 실행하세요" 를 실행하면 된다.  위에서 설치한 cuda 버전이 13.0이지만 큰 문제는 없어보인다.

 

동작 확인

설치가 완료되었다면 다음 파이썬 프로그램을 실행해보자.

import torch

# CUDA 사용 가능 여부 확인
print("CUDA 사용 가능:", torch.cuda.is_available())

if torch.cuda.is_available():
    print(f"GPU 개수: {torch.cuda.device_count()}")
    print(f"GPU 이름: {torch.cuda.get_device_name(0)}")
    print(f"CUDA 버전: {torch.version.cuda}")
    
    # 간단한 GPU 테스트
    x = torch.tensor([1.0, 2.0, 3.0]).cuda()
    y = x * 2
    print(f"GPU 테스트 결과: {y.cpu().numpy()}")
    print("✓ CUDA가 정상적으로 작동합니다!")
else:
    print("✗ CUDA를 사용할 수 없습니다. CPU를 사용합니다.")
    x = torch.tensor([1.0, 2.0, 3.0])
    y = x * 2
    print(f"CPU 테스트 결과: {y.numpy()}")
CUDA 사용 가능: True
GPU 개수: 1
GPU 이름: NVIDIA GeForce GT 1030
CUDA 버전: 12.8
GPU 테스트 결과: [2. 4. 6.]
✓ CUDA가 정상적으로 작동합니다!

 

Apple Silicon 환경

위에서 설정한 cuda는 MacOS에서는 지원하지 않는다. 대신 MacOS에서는 Apple Silicon에서 제공하는 MPS(Metal Performance Sharders)를 사용한다.

특별히 무언가를 설치할 필요는 없다. 확인 코드는 다음과 같다.

import torch

device = torch.device("cpu")
if torch.backends.mps.is_available():
    device = torch.device("mps")
if torch.cuda.is_available():
    device = torch.device("cuda")
print(f"Using device: {device}")
성능은 CUDA를 따라가기 어렵다. 일반적으로 MPS는 CPU  대비 3~5배의 성능을 내지만 CUDA 대비 60~80% 정도라고 한다. 지금은 MAC이니까 어쩔 수 없이 MPS? 정도라고 볼 수 있다.

하지만 상대적으로 신생 기술이기 때문에 애플의 활약으로 최적화가 잘 되길 기대해본다.
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.