개발자
ai는 수많은 병렬연산을 계속해야하기에 연산의 효율성이 중요하다고 생각합니다 파이썬은 언어중에서도 C++, Java, Js보다도 느린 지표를 나타내는데 에너지 효율성, 속도가 중요한 ai작업에 압도적으로 많이 사용하는 이유가 무엇인가요? 언어별 속도 비교가 cpu 기준이긴 했어서, gpu 연산에선 큰 차이가 없는걸까요? 파이썬의 접근성 측면만 보고 선택했다기엔 ai가 비전공자들은 다가가기 힘든만큼, 오히려 더 납득하기가 어려웠습니다 라이브러리 생태계를 강조하기도 하는데, 라이브러리도 결국 파이썬이 ai에 적합한면이 있었기 때문에 생겨난것이라 생각하여 질문드립니다.
답변 5
인기 답변
안녕하세요. 현업에서 파이썬 활용하여 데이터 분석도 하고 모델 개발도 하고 있는 백승윤이라고 합니다. 파이썬을 나이브하게 사용을 한다면 말씀하신대로 C보다 100배는 느리기 때문에 모델 학습에 더 부적절하다고 생각하실 수 있습니다. 다만 우리는 파이썬을 활용하여 데이터를 처리하고 모델을 학습할 때, Numpy, PyTorch와 같은 C 기반으로 최적화된 라이브러리를 사용합니다. 게다가 GPU로 연산을 하게 되면 Python과 C의 속도차이는 더 줄어들 수 있다고 합니다. 하지만 절대적으로 C가 빠른건 맞을 수 밖에 없어요. Python보다 훨씬 low-level의 언어이기 때문이죠. 다만 파이썬이 가지는 편안함을 C가 대체하기에 너무 어렵다고 생각합니다. C로 배열 만들고 적당히 연산만 할 생각해도 골치가 굉장히 아픈데,, 파이썬으로는 1-2줄이면 뚝딱 되는 경우가 많거든요. 우리가 파이썬을 활용하는 이유는 (1) 구현이 우선 쉽고, (2) 라이브러리 활용하면 속도도 나름 빠르게 나오기 때문이라고 생각합니다. 추가적으로 라이브러리도 파이썬 기반으로 많이 나올 수 있었던 건 (1) 의 강점이 두드러진 케이스라고 생각합니다. (이건 제 뇌피셜이에요 ㅎㅎ)
인기 답변
안녕하세요. 데이터 & AI 교육 크리에이터 리차드라고 합니다. 좋은 질문을 해주셔서 제 나름대로 고민을 한 후, 답변드리고자 합니다. 1. 언어의 성능보다 확장성을 고려했다고 생각합니다. 파이썬은 데이터 분석 분야에서 가장 많은 라이브러리 및 패키지를 보유하고 있습니다. 많은 유저들이 사용하는 언어들은 그 확장성이 무기가 될 수 있습니다. 기존에 있는 라이브러리를 확장한 새로운 라이브러리들이 지속적으로 새로운 패러다임을 만들어줍니다. Spark의 확장버전 Pyspark가 그 대표적인 예입니다. 기존의 pandas 문법을 알면 pyspark를 사용하기가 매우 편리한 것과 마찬가지죠. 2. AI를 사용할때 기능성보다 가독성을 고려했다고 생각합니다. AI코드는 어느정도 정형화된 형태들이 많다고 생각합니다. 데이터 코드들을 사용할때 단계별로 순서에 맞추어 작성하는 경우가 많기에 가독성 측면에서 C보다 파이썬이 선호된다고 생각해요. 좀 더 인간이 읽기 쉬운 언어이니까요. 물론 저만의 생각이기 때문에 다른 의견이 있거나 부족한 부분이 있다고 생각합니다. 다른 생각이나 피드백이 있다면 댓글로 언제든 알려주세요 :)
인기 답변
https://djangostars.com/blog/why-python-is-good-for-artificial-intelligence-and-machine-learning/ 파이썬이 좋은이유에 대해 설명하는 블로그 입니다. ai를 위한 라이브러리도 있겠지만, 기존에 사용하는 수학관련, 데이터 처리관련 라이브러리는 이미 파이썬에 많이 있어서 그렇지 않을까 싶습니다.
Pytorch같은 딥러닝 라이브러리는 파이썬으로 설계하고 C++을 이용해 계산합니다. GPU를 이용한 병렬처리가 잘 되도록 설계됐습니다.(AI공부중인 학부 전공자의 답변이니 믿고 거르셔도 됩니다.)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!