Data Science

2024년 데이터 과학 현황: 6가지 주요 데이터 과학 동향

Read this post in other languages:

2024년 데이터 과학 현황

올해의 화제는 생성형 AI와 LLM이었습니다. 그렇다면 이 두 가지가 데이터 과학과 머신러닝 동향에도 영향을 주었을까요? 데이터 과학의 새로운 동향 중 따를 만한 것은 무엇일까요? 매년 JetBrains는 Python Software Foundation과 협업하여 이러한 질문에 관한 인사이트를 제공하는 Python 개발자 설문조사를 실시합니다.

최근에 실시된 설문조사 결과는 2023년 11월부터 2024년 2월 사이에 수집되었으며, 데이터 과학 섹션이 추가되었습니다. 이를 통해 지난 한 해 동안 데이터 과학의 전체적 동향을 더 정확하게 파악하고 이 분야에서 Python의 중요도를 조명했습니다.

연도별 Python 사용 현황

48%의 Python 개발자가 데이터 탐색 및 처리에 참여하였으나 데이터 분석에 Python을 사용하는 응답자의 비율은 2022년 51%에서 2023년 44%로 감소하였습니다. 머신러닝에 Python을 사용하는 응답자의 비율도 2022년 36%에서 2023년 34%로 감소하였습니다. 한편 응답자의 27%는 Python을 데이터 엔지니어링에 사용했고, 8%는 MLOps에 사용했습니다. 이 두 카테고리는 2023년의 설문조사에 새로 추가되었습니다.

설문조사 결과에 나타난 동향을 자세히 살펴보고 이러한 수치를 맥락에 맞춰서 해석해 보겠습니다. 계속 읽으면서 데이터 과학 및 머신러닝 분야의 최신 소식에 관해서 알아보고 2025년을 대비해 보세요.

데이터 처리: 여전히 최고의 인기를 누리는 pandas와 부상하는 Polars

데이터 처리는 데이터 과학의 필수적인 부분입니다. 15년 동안 진행되고 있는 프로젝트인 pandas는 가장 일반적으로 사용되는 데이터 처리 도구 중에서 여전히 1위를 차지하고 있습니다. 데이터 탐색과 처리를 수행한다고 밝힌 응답자의 77%가 이 도구를 사용하고 있습니다. 프로젝트가 성숙해짐에 따라 API가 안정화되어 인터넷에서 실제로 동작하는 예시를 다양하게 찾아 볼 수 있습니다. 따라서 pandas가 여전히 당연한 선택이라는 것은 그리 놀랍지 않습니다. pandas 프로젝트는 NumFOCUS의 지원을 받으면서 지속 가능성을 커뮤니티에 증명하였고 관리 모델도 사용자의 신뢰를 얻었습니다. 프로젝트가 안정적이고, 빠르게 변경되지는 않기 때문에 데이터 처리를 아직 배우고 있는 초보자에게 아주 좋은 선택지입니다.

반면에 새로운 시대의 DataFrames라 홍보하는 Polars는 속도와 병렬 처리에 장점이 있어 작년과 올해 주목을 받았습니다. 2023년에는 Polars의 제작자인 Ritchie Vink가 이끄는 회사가 설립되어 프로젝트 개발에 힘이 실렸습니다. 이를 통해 Polars가 계속 빠르게 개발될 수 있었고 2024년 7월에는 Polars의 버전 1.0이 릴리스되었습니다. 이후 Polars는 Hugging FaceNVIDIA RAPIDS와 같은 다른 유명 데이터 과학 도구와의 호환성을 확대했습니다. pandas와 같이 가벼운 차트 생성 백엔드도 제공합니다.

따라서 데이터 과학 분야에 종사하는 전문가들이 Polars로 전환하면 이점을 얻을 수 있습니다. 프로젝트가 성숙해지면 데이터 과학 워크플로에서 더 많은 업무를 처리하는 도구가 될 수도 있고, 데이터를 더 빠르게 처리하기 위해 사용될 수도 있습니다. 2023년 설문조사에서는 10%의 응답자가 데이터 처리 도구로 Polars를 사용한다고 대답했습니다. 올해의 설문조사에서는 이 비율이 더 높을 것이라고 쉽게 짐작할 수 있습니다.

데이터 탐색 및 처리에 사용하는 도구

현직 전문가든 데이터세트를 처음 처리하는 초보자든, 업무를 더 즐겁게 처리할 수 있는 편리하고 효율적인 도구를 갖추어야 합니다. PyCharm에서는 대화형 테이블로 데이터를 검사할 수 있습니다. 이 테이블은 스크롤, 정렬, 필터링하거나 차트로 변환할 수 있고, 히트맵 생성에 사용할 수 있습니다. 또한 각 열의 분석 결과를 얻고 AI의 지원을 받아 DataFrames에 관한 설명을 듣거나 시각화를 생성할 수도 있습니다. PyCharm의 이러한 기능은 pandas와 Polars 외에도 Hugging Face datasets, NumPy, PyTorch 및 TensorFlow에서도 사용할 수 있습니다.

PyCharm 2024.2.2의 대화형 테이블은 pandas 및 Polars DataFrames를 검사할 때 필요한 도구를 제공합니다
PyCharm 2024.2.2의 대화형 테이블은 pandas 및 Polars DataFrames를 검사할 때 필요한 도구를 제공합니다

Polars의 인기에 힘입어 새로운 프로젝트인 Narwhals가 시작되었습니다. Narwhals는 pandas 및 Polars와 다르며, 두 도구의(다른 다수의 도구도 포함) API를 통합하는 것이 목표입니다. 갓 시작된 프로젝트이기 때문에(2024년 2월 시작) 인기 있는 데이터 처리 도구 목록에는 아직 올라오지 못했지만, 추후 몇 년 이내에 순위에 오를 것으로 생각됩니다.

병렬 프로세스 덕분에 대량의 데이터를 처리할 때 유용한 Spark(16%)와 Dask(7%)도 언급할 만합니다. 이러한 도구는 설정할 때 엔지니어링 역량이 조금 더 필요합니다. 그러나 기존의 Python 프로그램으로는 처리할 수 없을 만큼 프로젝트의 데이터 양이 증가하면, 이러한 도구의 중요도도 올라갈 것이기 때문에 응답률이 올라갈 수도 있습니다.

데이터 시각화: HoloViz Panel이 내년에는 Plotly Dash와 Streamlit를 넘어설 수 있을까요?

데이터 과학자라면 보고서를 생성하고 비즈니스 팀에 발견된 사실을 설명할 수 있어야 합니다. 이에 Python 작업을 위한 다양한 대화형 시각화 대시보드 도구가 개발되었습니다. 설문조사 결과에 따르면 가장 인기 있는 도구는 Plotly Dash입니다.

대시보드 생성용 라이브러리

Plotly는 R 언어 사용자에게 매우 인기가 많은 시각화 라이브러리인 ggplot2로 데이터 과학 커뮤니티에서 잘 알려져 있습니다. Python이 데이터 과학 분야에서 인기를 얻은 이후 Plotly는 Python에서도 ggplot2와 유사한 경험을 제공하는 Python 라이브러리를 제공했습니다. Plotly로 개발된 반응형 웹 앱을 빌드할 때 사용하는 Python 프레임워크인 Dash는 최근 수년 동안 Plotly에 능숙하고 대화형 대시보드를 만들고자 하는 분들에게는 당연한 선택지가 되었습니다. 그러나 Dash의 API를 사용하려면 앱의 레이아웃을 디자인할 때 HTML에서 사용되는 요소를 기본적으로는 이해하고 있어야 합니다. 프런트엔드 경험이 거의 없는 사용자에게 이는 Dash를 효율적으로 활용하려면 넘어야 하는 장벽으로 작용할 수 있습니다.

‘”최고의 시각화 대시보드’ 2위는 Snowflake와 함께하게 된 Streamlit이 차지했습니다. Plotly만큼 역사가 길지는 않지만 사용하기 쉽고 명령줄 도구가 패키지에 포함되어 있다는 이점 때문에 최근 몇 년 동안 인기를 끌고 있습니다. Streamlit은 Plotly만큼 사용자화할 수는 없지만, 대시보드의 레이아웃을 직관적으로 제작할 수 있고, 다수의 페이지로 구성된 앱을 지원하기 때문에 복잡한 애플리케이션도 제작할 수 있습니다.

그러나 2024년 결과에서는 수치가 조금 변할 수도 있습니다. 이러한 앱들의 유명세를 따라잡거나 심지어는 넘어설 수도 있는 유망한 도구들이 있습니다. HoloViz Panel이 그 중 하나입니다. HoloViz 에코시스템에 포함된 하나의 라이브러리로서 NumFOCUS가 지원하고 있으며 PyData 커뮤니티 내에서 유명세를 타고 있습니다. Panel을 사용하여 사용자가 HTML 서식으로 보고서를 생성할 수도 있고, Jupyter Notebook과도 잘 호환됩니다. 새로운 사용자가 시작할 수 있도록 템플릿이 제공되며 전문가가 대시보드를 세밀하게 변경할 수 있도록 사용자 지정 옵션도 많이 있습니다.

ML 모델: 딥 러닝 분야에서는 PyTorch가 가장 인기를 끌고 있는 가운데 여전히 주목 받고 있는 scikit-learn

최근 수년 간 생성형 AI와 LLM이 뜨거운 관심을 받았기 때문에 딥러닝 프레임워크나 라이브러리가 완전히 장악했을 거라고 생각하실 수도 있습니다. 그러나 꼭 그런 것은 아닙니다. scikit-learn은 주로 연구자들이 유지 관리하는 것으로 잘 알려진 머신러닝 라이브러리로, 이 도구의 전통적인 통계 기반의 방식을 사용하면 데이터에서 여전히 많은 인사이트를 얻을 수 있습니다. 2020년부터 NumFOCUS가 지원하고 있는 이 라이브러리는 지금도 머신러닝과 데이터 과학 분야에서 가장 중요한 라이브러리로 남아 있습니다. 과학적인 계산을 지원하는 Python 라이브러리인 SciPy도 데이터 과학에서 많이 사용되는 라이브러리입니다.

ML 모델 트레이닝 및 예측에 사용하는 프레임워크

그렇기 때문에 딥러닝의 영향력과 나날이 인기를 얻고 있는 딥러닝 프레임워크를 무시할 수는 없습니다. Meta에서 만든 머신러닝 라이브러리인 PyTorch는 현재 Linux Foundation에서 관리하고 있습니다. 이러한 변화에 비추어 볼 때 오픈소스 에코시스템에서 PyTorch는 계속해서 중추적인 라이브러리가 될 것이고 커뮤니티에서도 지속적으로 활발히 참여할 것으로 보입니다. PyTorch는 가장 많이 사용되는 딥러닝 프레임워크로서 Python 사용자들의 사랑을 받고 있으며, PyTorch의 기본적인 데이터 구조인 ‘텐서’가 NumPy 배열과 매우 유사하기 때문에 NumPy가 익숙한 사람들에게 특히 많은 사랑을 받고 있습니다.

Numpy 배열을 검사하듯이 PyCharm 2024.2.2 Pro에서 PyTorch 텐서를 검사해 보세요
NumPy 배열을 검사하듯이 PyCharm 2024.2.2 Pro에서 PyTorch 텐서를 검사할 수 있습니다

정적인 연산 그래프를 사용하는 TensorFlow와 달리 PyTorch는 동적인 그래프를 사용하기 때문에 Python에서 프로파일링하기가 매우 쉽습니다. 그뿐만이 아니라 PyTorch는 프로파일링 API를 제공하기 때문에 연구 및 실험에 알맞습니다. 그러나 딥러닝 프로젝트가 배포 시 확장될 수 있어야 하고 여러 프로그래밍 언어를 지원해야 한다면 C++, JavaScript, Python, C#, Ruby 및 Swift를 포함한 다수의 언어를 지원하는 TensorFlow가 더 나을 수 있습니다. Keras는 TensorFlow를 더욱 쉽게 사용할 수 있게 도와주는 도구이며 딥러닝 프레임워크에도 자주 사용됩니다.

딥러닝에서 빼놓을 수 없는 또 다른 프레임워크는 Hugging Face Transformers입니다. Hugging Face는 사전에 학습된 최신 딥러닝 모델을 제공하는 허브입니다. 데이터 과학 및 머신 러닝 커뮤니티에서 인기가 있는 모델로 구성되어 있으며 다운로드하여 추가적으로 트레이닝시킬 수 있습니다. Transformers는 PyTorch, TensorFlow 및 JAX와 함께 최첨단 머신러닝을 위해 Hugging Face와 커뮤니티가 유지 관리하는 라이브러리입니다. LLM의 인기에 따라 2024년에는 Hugging Face Transformers가 더 많은 사용자를 확보할 것으로 예상됩니다.

PyCharm을 활용하면 전용 도구 창에서 Hugging Face 모델을 식별하고 관리할 수 있습니다. 또한, PyCharm은 다양한 Hugging Face 모델 중에서 사용 사례에 맞는 모델을 IDE에서 바로 선택할 수 있도록 도와줍니다.

2024년에 주목할 만한 신규 라이브러리 중 하나는 Scikit-LLM입니다. 이 라이브러리를 통해 ChatGPT와 같은 Open AI 모델을 활용하고 scikit-learn과 통합할 수 있습니다. 텍스트 분석이 필요할 때 매우 유용하며, 강력한 최신 LLM 모델과 scikit-learn의 모델을 함께 활용하여 분석을 실행할 수 있습니다.

MLOps: 데이터 과학 프로젝트의 미래

데이터 과학 프로젝트에서 중요하지만, 자주 간과되는 측면은 MLOps(머신러닝 운영)입니다. 데이터 과학 프로젝트의 워크플로에서 데이터 과학자는 데이터를 관리하고, 모델을 재학습시키고, 모든 데이터와 모델의 버전을 관리해야 합니다. 머신러닝 애플리케이션이 프로덕션에 배포될 때, 성능과 사용량도 관찰 및 모니터링해야 할 때가 있습니다.

이에 최근 몇 년간 데이터 과학 프로젝트를 위해 설계된 MLOps 도구가 등장했습니다. 데이터의 버전 관리는 데이터 과학자와 데이터 엔지니어를 괴롭히는 문제 중 하나입니다. 이 업무는 데이터가 지속적으로 파이프라인에 유입되는 경우 필수적입니다.

데이터 버전 관리용 도구

데이터 과학자와 엔지니어는 실험도 추적해야 합니다. 머신러닝 모델이 새로운 데이터로 재학습되고 초매개변수가 세밀하게 조정되기 때문에 모델 훈련 및 실험 결과를 추적하는 것이 매우 중요합니다. 현재 가장 유명한 도구는 TensorBoard입니다. 그러나 이 순위는 곧 바뀔 수 있습니다. TensorBoard.dev의 지원이 중단되었기 때문에 사용자들은 이제 자체적인 TensorBoard 설치본을 로컬에 배포하거나 Google Colab의 TensorBoard 통합을 사용하여 결과를 공유해야 하는 상황입니다. 그 결과, TensorBoard의 사용량은 떨어지고 MLflow나 PyTorch와 같은 다른 도구의 사용량이 오를 수 있습니다.

실험적 추적 도구

프로덕션의 배포 환경을 전달하는 일은 데이터 프로젝트의 원활한 진행에 필요한 또 다른 MLOps 절차입니다. 소프트웨어 엔지니어가 일반적으로 사용하는 개발 방식인 Docker 컨테이너가 데이터 과학 커뮤니티에서도 채택된 것으로 보입니다. 이 방식을 사용하면 개발 환경과 프로덕션 환경을 일관적으로 유지할 수 있습니다. 이는 머신러닝 모델이 애플리케이션의 형태로 배포되어야 하는 데이터 과학 프로젝트에서는 매우 중요합니다. 서비스를 클라우드로 배포해야 하는 Python 사용자들 사이에서 Docker가 인기를 끌고 있는 것이 확인됩니다.

클라우드용으로 어떻게 개발하시나요?

올해는 ‘Python 설치 및 업그레이드’ 카테고리에서 Docker 컨테이너가 Anaconda 살짝 앞서고 있습니다.

2023년 Python 설치 및 업그레이드
2023년 설문조사 결과
2022년 Python 설치 및 업그레이드
2022년 설문조사 결과

빅데이터: 데이터가 어느 정도 있어야 충분할까요?

학습을 개선하려면 더 많은 데이터가 필요하고 예측을 개선하려면 모델이 더 복잡해져야 한다는 잘못된 인식이 있습니다. 그러나 이는 사실이 아닙니다. 모델이 너무 과할 수도 있기 때문에 머신러닝에 데이터가 많다고 항상 좋은 것은 아닙니다. 사용 사례, 모델 및 동시에 처리되는 데이터의 양에 따라 다른 도구나 방법이 필요합니다.

빅데이터 작업에 사용하는 솔루션

Python으로 대량의 데이터를 처리하기가 힘든 이유는 대부분의 Python 라이브러리가 데이터를 메모리에 저장해야 하기 때문입니다. 대량의 메모리를 갖춘 클라우드 컴퓨팅 리소스를 배포할 수도 있겠지만, 이런 방법을 쓰더라도 한계가 있고 때로는 느리고 비쌀 수도 있습니다.

메모리에 저장하기 어려운 대량의 데이터를 처리할 때 일반적인 솔루션은 분산형 컴퓨팅 리소스를 활용하는 것입니다. 연산 작업과 데이터가 클러스터에 분산되고 병렬로 실행 및 처리됩니다. 이러한 방식으로 데이터 과학 및 머신러닝 연산을 확장할 수 있으며, 이 방식으로 가장 유명한 엔진은 Apache Spark입니다. Spark는 이러한 방식을 위한 Python API 라이브러리인 PySpark와 함께 사용할 수 있습니다.

2023년 빅데이터 도구

Spark 2.0부터 Spark RDD API의 사용자라면 성능이 더 좋은 Spark SQL로 전환하는 것이 좋습니다. Spark SQL은 SQL 쿼리 실행을 지원하기 때문에 데이터 과학자가 데이터를 더욱 쉽게 처리할 수 있습니다. 2024년에도 PySpark가 인기 있을 것으로 예상됩니다.

Databricks도 클러스터의 데이터를 관리할 때 사용되는 인기 있는 도구 입니다. 클러스터의 데이터를 처리할 때 Databricks를 사용 중이라면 Databricks와 PyCharm의 강력한 통합 기능을 활용할 수 있습니다. PyCharm에서 파이프라인과 잡에 사용할 코드를 작성한 다음 추가적인 구성을 하지 않고도 Databricks 클러스터에 코드를 실시간으로 배포, 테스트 및 실행할 수 있습니다.

커뮤니티: 행사의 핵심 주제가 데이터 과학으로 변화

여러 신규 사용자들이 데이터 과학을 목적으로 Python을 사용하고 있습니다. 따라서 데이터 과학과 관련된 사용 사례를 지원하는 Python 라이브러리가 늘어났습니다. 같은 맥락으로 PyCon이나 EuroPython과 같은 Python 행사가 데이터 과학에 초점을 맞춘 트랙, 발표, 워크숍을 확대하고 있습니다. 또한, PyData이나 SciPy와 같은 데이터 과학 행사도 인기를 끌고 있습니다.

맺음말

데이터 과학과 머신러닝이 갈수록 활성화되고, AI와 LLM의 인기와 더불어 데이터 과학에 활용할 수 있는 새로운 오픈 소스 도구도 나날이 늘어가고 있습니다. 데이터 과학의 전망은 빠르게 변화하고 있으며, 2024년 설문조사 결과에서는 무엇이 가장 인기가 있었을지 기대됩니다.

PyCharm으로 데이터 과학 경험을 강화하세요

현대 데이터 과학에는 데이터 처리, 시각화, 코드 작성, 모델 배포 및 대규모 데이터세트 관리와 같이 다양한 작업을 수행할 수 있는 기술이 필요합니다. PyCharm와 같은 통합 개발 환경(IDE)을 활용하면 효율적으로 이러한 역량을 키울 수 있습니다. 지능적인 코딩 지원, 최상급의 디버그, 버전 관리, 통합 데이터베이스 관리가 지원되며 Docker와 완벽하게 통합됩니다. PyCharm은 데이터 과학을 위해 Jupyter Notebook과 더불어 주요 과학 및 머신러닝 라이브러리를 지원하며 Hugging Face 모델 라이브러리, Anaconda, Databricks와 같은 도구와 통합됩니다.

오늘부터 PyCharm을 데이터 과학 프로젝트에 사용하고 데이터를 탐색하거니 딥러닝 모델을 만들 때 유용한 기능인 pandas 및 Polars DataFrames 검사, PyTorch 텐서의 레이어 단위 검사와 같은 최신 개선 사항들을 활용해 보세요.

게시물 원문 작성자

Cheuk Ting Ho

Cheuk Ting Ho

image description