앞서 지난 시간에 AI 개발에 도움이 되는 프레임워크인 텐서플로우와 파이토치를 만나보시고 오셨을 텐데요. 여기에 뭔가 하나 빠진 것 같지 않나요? 특히 파이썬을 주 언어로 사용하고 계신 분들께는 더욱 친숙한 단어일 것 같은데요. 바로 ‘주피터(Jupyter)’입니다.
AI 개발을 기본적으로 진행하는 데 다양한 개발 언어와 프레임워크가 필요한 것처럼 개발을 더욱 원활하게 진행할 수 있도록 도움을 주는 ‘환경’과 ‘도구’도 필요합니다.
그 사이에 오늘 소개해 드릴 ‘주피터 노트북(Jupyter Notebook)’이 있는데요. 주피터 노트북이라 하면, 시중에 나와 있는 노트북 PC 모델이 떠오르실 수도 있는 분들을 위해, 오늘은 AI와 Jupyter Notebook에 대해서 자세하게 알아보는 시간을 가져보겠습니다.
주피터 노트북 (Jupyter Notebook)이란?
주피터 노트북은 파이썬을 비롯해 다양한 개발 언어로 코드를 작성해 프로그래밍 할 수 있는 개발 환경입니다. 보통 프로그래밍 언어들은 자체의 구축 개발 환경이 있고, 다양한 개발 환경 플랫폼이 있는데, 주피터 노트북(Jupyter Notebook)은 웹 기반의 통합 개발 환경을 가지고 있다는 특징이 있습니다.
여기서 ‘통합 개발 환경 (IDE)’은 프로그래밍에 필요한 툴(도구)들이 하나의 인터페이스에 통합되어 있는 개발 환경을 의미하는데요.
인터넷이 연결된 어느 컴퓨터에서나 웹 브라우저를 열면 접속 가능한 웹 기반 환경을 제공해 주어, 장소에 구애받지 않고 어디서든 쉽게 사용할 수 있다는 장점이 있습니다. 게다가 오픈소스이기 때문에 개발자들한테는 인기가 많을 수밖에 없습니다!
프레임워크와 주피터노트북의 차이점은?
이제 막 AI에 입문해, 단어들이 헷갈리는 분들을 위해 세 가지 키워드를 비교해 보겠습니다!
PyTorch(파이토치)
|
'프레임워크'
|
|
Python(파이썬)
|
프레임워크에 사용되는 '언어'
|
|
Jupyter(주피터)
|
파이썬 개발 시, 도움을 주는 '환경 도구'
|
그렇다면, 주피터 노트북 왜 많이 사용할까요?
먼저, 주피터 노트북은 데이터 시각화에도 매우 용이합니다. ‘그래프’, ‘마크다운’ 기능으로 작성한 코드에 대해 설명을 추가할 수 있고, 데이터 분석이나 시각화에 활용되는 라이브러리를 사용해 불러온 데이터를 표·그래프 등의 형태로 바로 시각화할 수 있습니다.
그리고 다양한 프로그래밍 언어를 지원하는데요. 파이썬뿐만 아니라 R, Julia 등 다양한 언어도 함께 지원하고 있어 범용성이 높습니다.
마지막으로 주피터 노트북은 코드를 작성할 때 가장 편리하다고 알려졌는데요. 대화형 모드를 지원하여, 코드를 한 줄 입력하면 실행되는 결과를 즉시 확인할 수 있습니다. 즉, 개발 중간중간에도 프로그램을 계속 실행하여 확인할 수 있습니다. 개발 부서에서는 코드를 작성할 때 에러가 발생해도 문제의 코드를 바로 수정하고, 실시간으로 피드백을 반영하면서, 다음 코드를 이어나갈 수 있습니다.
주피터 노트북(Jupyter Notebook)은 코딩을 활용한 데이터 분석에 특화되어 있다 보니, 파이썬과 코딩을 배우려는 사람들에게 굉장히 인기가 있고, 데이터나 공식에 대해 시각화가 필요한 데이터 사이언스는 물론, 머신러닝과 딥러닝 등 AI 분야에서 많이 활용되고 있습니다.
Jupyter Notebook, 효과적인 협업 도구가 되다
주피터 노트북은 웹 기반 통합 환경에서, 코드뿐 아니라 텍스트, 이미지, 수식, 그래프 등을 활용해 효과적이고 간편하게 기록한 결과물을 보여주고 있는데요. 덕분에 여러 사람과 그 내용을 공유할 때에도 매우 유용하게 쓰입니다.
어떤 교수는 주피터 노트북을 마이크로소프트의 파워포인트 대신 사용하려고 시도했다고도 하는데요. 강의나 프레젠테이션 자료로 사용하기에도 적합하다고 합니다. 구글에서 제공하는 ‘코랩(Colaboratory)’이나 ‘캐글(Kaggle)’에서도 주피터 노트북을 기반으로 한 UI를 제공하고 있다고 알려졌습니다.
" AI개발 특화 솔루션 astrago, Jupyter를
포함한 여러 프레임워크를 지원! "
이처럼 많은 기업에서 활발히 진행되는 AI 개발에도 주피터 노트북이 주로 사용되는데요. AI 개발을 위해 GPU 인프라를 가장 효율적으로 운영할 수 있는 기능만 집약한, MLOps 솔루션 아스트라고에서도 jupyter notebook을 지원합니다.
astrago에서 제공하는 Jupyter Notebook을 통해, 사용자 간 협업을 원활하게 진행할 수 있습니다. 아스트라고는 하드웨어에 별도의 설치나 버전 관리 없이 작업자 간에 편리하게 작업물을 공유하고 협업할 수 있도록 지원합니다. 또한 워크로드 생성 후 소스코드 변경이 필요할 경우, astrago 내에서 지원하는 ‘웹터미널’ 혹은 ‘연결’ 기능을 통해 손쉽게 내용을 수정하여 업무 편의성을 향상할 수 있습니다.
또한 실시간 모니터링 기능을 통해 Jupyter Notebook의 워크로드가 시간별 GPU, CPU, MEM, DISK 사용량을 트래킹 하며 인프라를 최적으로 관리해 줍니다.
AI 모델을 개발하기 위해 Jupyter Notebook을 사용한다면, 더욱 효과적인 리소스 관리와 최적화된 성능을 구현하시기 위해 씨이랩의 ‘AI 어플라이언스’에서 체험해 보시길 바랍니다.
'AstraGo' 카테고리의 다른 글
가상머신(VM)과 컨테이너의 가상화 기술 (하이퍼바이저/도커) (1) | 2024.06.29 |
---|---|
한정된 자원을 유동적으로 사용할 수 있는 '도커'와 '컨테이너' (0) | 2024.06.29 |
머신러닝·딥러닝의 대표적 프레임워크 텐서플로우vs파이토치 (7) | 2024.06.28 |
GPU를 가장 잘 활용하는 방법: 멀티 인스턴스 MIG (0) | 2024.06.28 |
개발과 운영을 한 번에 효율화 하는 MLOps 정의와 플랫폼 (0) | 2024.06.28 |