상위 머신 러닝 라이브러리

작성자

David Zax

Staff Writer

IBM Think

머신 러닝 라이브러리란 무엇인가요?

머신 러닝 라이브러리는 머신 러닝 프로젝트에 유용한 사전 제작된 코드 청크('라이브러리')입니다. 머신 러닝(ML) 작업에는 인공 지능에서 일반적인 특정 유형의 작업이 안정적으로 포함되므로 사전 구축되고 검증된 알고리즘 및 기타 도구를 사용하여 작업하는 시간을 절약할 수 있습니다. 

대부분의 ML 라이브러리는 모듈로 구성되어 있어 개발자가 전처리, 학습, 검증 지표 및 기타 작업을 처리하는 ML 파이프라인을 구축할 때 혼합하고 일치시킬 수 있습니다. 라이브러리는 종종 오픈 소스이며 무료로 사용할 수 있으며 선택할 수 있는 종류도 많습니다. 한 Github 페이지에는 Python 프로그래밍 언어로만 약 1000개의 ML 라이브러리가 집계되어 있습니다. (Python은 지배적인 머신 러닝 언어로 부상했지만 ML 프로젝트는 JavaScript, R 및 기타 언어로도 나타납니다.) 

모든 종류의 애플리케이션을 위한 라이브러리가 있습니다. Hugging Face의 트랜스포머를 사용하면 사전 학습된 트랜스포머 모델에 쉽게 액세스할 수 있습니다. Stable-Baselines3와 같은 라이브러리는 강화 학습을 지원합니다. 머신 러닝 라이브러리는 두 가지 주요 카테고리로 유용하게 클러스터링할 수 있습니다. 머신 러닝 프로젝트의 프레임워크 또는 플랫폼 역할을 하는 일반 라이브러리입니다. 특수 라이브러리는 ML 프로젝트의 특정 단계 또는 구성 요소에 사용할 수 있습니다.

전문가가 전하는 최신 AI 트렌드

가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

일반 머신 러닝 라이브러리

'범용 프레임워크' 또는 '핵심 플랫폼'이라고도 불리는 일반적인 머신 러닝 라이브러리는 그 수가 수십 개에 달합니다. 그러나 TensorFlow(및 이와 밀접하게 관련된 Keras), PyTorch, scikit-learn 등 네 가지가 특히 인기가 많아nsorFlow(및 이와 밀접하게 관련된 Keras), PyTorch, scikit-learn 등 네 가지가 특히 인기가 많아 일상적으로 '최고' 목록에서 상위를 차지합니다. 각 라이브러리는 프로젝트나 팀의 필요에 따라 강점이 조금씩 다릅니다. 

  • NumPy

  • Tensorflow

  • Keras

  • PyTorch

  • Scikit-learn

NumPy

NumPy는 그 자체로 ML 라이브러리가 아니라 모든 ML 라이브러리의 기반이 되는 라이브러리입니다. 머신 러닝의 핵심은 대량의 데이터에서 패턴을 찾는 것입니다. n차원 배열로 알려진 구조를 생성하는 라이브러리인 NumPy는 이러한 데이터 포인트를 구성하고 수학적 함수(선형 대수학으로 알려진 수학 분야)를 적용하는 데 도움이 됩니다. 이러한 n차원 또는 다차원 배열(즉, 조작 가능한 숫자의 큰 컨테이너)은 때때로 '텐서'라고도 불리며, 이는 ML 라이브러리에 대한 논의에서 자주 발생하는 용어입니다. (2차원 배열을 행렬이라고 함).

NumPy는 머신 러닝의 핵심 데이터 구조인 텐서를 처리하지만, NumPy는 실제로 최신 ML의 프로세서 집약적 요구 사항을 충족하기에는 너무 제한적입니다. 다른 제약 조건 중에서도, NumPy(1990년대로 거슬러 올라감)는 상용 ML 작업에 일반적으로 필요한 고급 그래픽 처리 장치(GPU) 프로세서와 '대화'(소위 'GPU 가속')하기에는 너무 오래되었으며, 대신 저전력 중앙 처리 장치(CPU)로만 작동합니다.

Tensorflow

TensorFlow는 2015년 Google Brain 팀에서 처음 개발한 일반 ML 라이브러리로, Google이 이 라이브러리를 오픈 소스로 공개한 후 인기가 높아졌습니다. TensorFlow는 CPU 프로세서뿐만 아니라 고성능 GPU 및 텐서 처리 장치(TPU)라는 Google의 특수 프로세서에서도 작동할 수 있습니다.

TensorFlow는 (뇌 구조를 모방하는) 신경망에 의존하는 머신 러닝의 변형인 딥 러닝에 특히 적합합니다. '딥' 러닝은 입력과 아웃풋 사이에 여러 계층이 포함되기 때문에 그렇게 불립니다. 딥 러닝은 자연어 처리(NLP), 컴퓨팅 비전, 이미지 인식과 같은 애플리케이션에서 유용한 것으로 부상했습니다. TensorFlow는 Google에서 시작하여 많은 상용 앱과 제품을 구동하며, 대규모 배포에 탁월합니다. 

Keras

Keras는 TensorFlow와 밀접하게 연관되어 있으며, 이 또한 Google 엔지니어가 만들었습니다. TensorFlow 기반 ML 프로젝트에 보다 사용자 친화적인 API를 원하는 개발자들이 주로 사용하는 라이브러리입니다. 2025년에 출시된 Keras 버전에는 PyTorch를 포함하여 TensorFlow 이외의 다른 프레임워크에 대한 지원이 추가되었습니다. Keras는 광범위한 문서와 유용한 튜토리얼로도 유명합니다.

Pytorch

PyTorch는 원래 2016년 말 Meta의 연구원들에 의해 개발되었습니다. 이 라이브러리는 텐서를 핵심으로 하는 구형 Torch 라이브러리의 Python 포트입니다. PyTorch가 Linux Foundation으로 이전한 2022년까지 2,400명 이상의 기여자가 PyTorch를 사용하여 150,000개 이상의 프로젝트를 진행한 것으로 알려졌습니다. (이 분야는 광범위한 협업을 통해 번성하기 때문에 오픈 소스 머신 러닝은 지배적인 패러다임입니다.) TensorFlow와 마찬가지로 개발자가 PyTorch를 사용하면 NumPy와 유사한 작업을 수행할 수 있지만 CPU 대신 GPU를 사용하므로 PyTorch는 또 다른 딥 러닝 프레임워크가 됩니다. 

"PyTorch냐, TensorFlow냐?"라는 질문은 머신 러닝을 시작하는 사람들에게 자주 제기되는 첫 번째 질문입니다(이전에는 Theano라는 라이브러리도 혼합되어 있었지만 2017년에 더 이상 사용되지 않음). 오답은 없지만 PyTorch는 유연하고 관대한('Pythonic') 디자인과 사용 편의성으로 인해 많은 개발자들이 선호하는 라이브러리로 떠오르고 있습니다. 학계와 연구자들 사이에서 오랫동안 선호되어 왔지만, 업계에서는 야심차고 확장 가능한 사용 사례에도 점점 더 많이 사용하고 있습니다. 예를 들어 Tesla의 Autopilot은 PyTorch를 사용하여 구축되었으며 Microsoft의 클라우드 컴퓨팅 플랫폼인 Azure가 이를 지원합니다. PyTorch는 매우 인기가 높아져 Torchvision 및 TorchText와 같은 지원 도구 에코시스템이 이를 중심으로 성장했습니다. Tensorflow와 PyTorch는 모두 모델 학습 중 연산 및 변수의 흐름을 나타내는 데이터 구조인 계산 그래프를 사용합니다. 

IBM은 PyTorch Foundation의 회원이며, watsonx 포트폴리오에 PyTorch를 사용합니다.

Scikit-learn

Scikit-learn(소문자 'scikit-learn'으로 표기하며, 'sklear'이라고도 함)은 또 다른 기본 ML 라이브러리로, 데이터 과학자들에게 인기 있으며 과학 컴퓨팅을 지원하는 SciPy라는 관련 라이브러리 및 NumPy와 상호 운용되도록 설계되었습니다. Scikit-learn에는 패턴 인식을 핵심으로 하는 여러 ML 알고리즘이 포함되어 있습니다. 예를 들어 분류 알고리즘(예: 이메일이 스팸인지 여부를 판단하는 알고리즘), 회귀 알고리즘(예상, 예측 및 추천 시스템 지원), 클러스터링 알고리즘(유사한 항목을 함께 그룹화하는 알고리즘)이 포함됩니다. scikit-learn은 초보자가 머신 러닝의 기본 사항(데이터 사전 처리, 데이터 파이프라인, 의사결정트리, 최적화와 같은 개념)을 배울 수 있는 좋은 곳이지만, 상용 제품을 제작하기 위한 엔진으로서는 한계가 있습니다. NumPy와 마찬가지로 scikit-learn에는 GPU 가속이 부족하여 딥 러닝 모델에 적합하지 않으며 '딥 러닝 라이브러리'로 간주되지 않습니다. 그럼에도 불구하고 아이디어를 테스트하고 프로토타입을 제작하기 위한 실험실로는 여전히 유용합니다.

Mixture of Experts | 12월 12일, 에피소드 85

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

특수 머신 러닝 라이브러리

모든 ML 모델의 핵심(본질적으로 학습 부분)은 위에 나열된 기본 라이브러리 중 하나에서 실행됩니다. 그러나 머신 러닝은 복잡한 다단계 작업이므로 라이브러리는 특정 ML 작업과 관련된 워크플로를 지원하도록 발전했습니다. 또한 다양한 산업(예: 금융 또는 의료 분야)과 다양한 데이터 유형(예: 이미지 또는 오디오 데이터)은 전용 ML 라이브러리의 이점을 누릴 수 있을 만큼 충분히 구분됩니다. 이러한 복잡성으로 인해 발생하는 거의 수천 개의 오픈 소스 라이브러리를 살펴보는 것은 이 문서의 범위를 벗어나지만, 특히 인기 있는 몇 가지 라이브러리만 설명하는 것은 도움이 될 것입니다.

데이터 분석: pandas

Pandas는 모든 ML 작업의 핵심 기능인 데이터 과학을 위한 최고의 Python 라이브러리로, 다른 많은 ML 라이브러리와 마찬가지로 NumPy를 기반으로 구축되었습니다. Pandas는 Excel 스프레드시트와 유사한 '데이터 프레임'이라는 구조를 추가하여 NumPy의 배열보다 더 발전했습니다. 이렇게 추가된 구조를 통해 실제 데이터의 대규모 데이터 세트에서 데이터 조작을 수행할 수 있습니다.

데이터 시각화: matplotlib 및 시본

시각적 데이터에서 패턴과 인사이트를 파악하기 위해 널리 사용되는 두 가지 데이터 시각화 라이브러리는 matplotlib와 seaborne입니다. 전자는 플롯과 그래프를 생성하고, 후자는 이를 기반으로 하여 좀 더 ML 친화적으로 생성합니다(예를 들어 seaborn은 pandas의 데이터 프레임과 직접 작업할 수 있음).

실험 추적: MLFlow

실행 가능한 머신 러닝을 시작하려면 많은 실험과 시행착오를 거쳐야 제대로 된 겨로가를 얻을 수 있습니다. 이를 위해 MLFlow 라이브러리는 팀이 ML 모델, 매개변수 및 결과를 기록하고 디버깅 작업을 관리하여 학습된 모델을 출시할 수 있는 상태로 전환하는 데 도움이 됩니다.

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기