카테고리 없음

AI 개발이 주목하는 다음 언어는 무엇일까? 파이썬? 줄리아?

얇은생각 2019. 11. 10. 07:30
반응형

 

줄리아

파이썬과 R은 AI의 다음 언어가 아니며 AI의 현재 언어입니다.

AI의 미래에는 두 가지 언어가 필요하다고 생각하며 Julia는 그 중 하나입니다. 또 다른 하나는 스위프트입니다. Swift와 LLVM의 창시자인 Chris Lattner는 그의 탑 컴파일러 컴파일러를 ML이 직면 한 문제로 돌렸으며 Swift로 TensorFlow 그래프를 위한 효율적인 GPU 코드 생성에 많은 노력을 기울였습니다. Julia Computing의 Mike Innes, Keno Fischer 및 기타 천재 학자들은 Zygote.jl을 사용하여 재능을 발휘하여 Julia 구문에서 직접 “정적 그래프”를 추출하고 분석 할 수 있습니다.” 저는 그것이 무엇을 의미하는지 완전히 이해하지는 못하지만, 견고한 것은 확실합니다. Myia는 비슷한 접근법을 사용하는 Python 하위 집합입니다.

Julia가 이 분야에서 흥미로운 점은 Swift와 Myia가 다른 언어 및 프레임 워크에 대한 컴파일된 확장을 생성하는 반면 Zygote는 이 모든 것을 JIT와 함께 수행한다는 것입니다. 즉, Jupyter 노트북과 같은 대화형 상황에서 ML 알고리즘에 대한 새로운 그래프를 생성할 수 있습니다. 

하지만이 두 언어가 파이썬보다 더 나은 이유는 정확히 무엇일까요? 다른 사람들도 인정하는 장점은 대체 무엇일까요? 그리고 그러한 이유는 오늘날까지 파이썬을 위해 작성된 방대한 양의 라이브러리와 코드를 다루는 것보다 더 좋은 이유여야 할 것입니다.

아시다시피, 파이썬이있는 ML의 핵심 라이브러리에는 대부분 C/C ++로 작성된 GPU 커널이 ​​있습니다. 이 라이브러리는 한 번 컴파일 된 후 모든 종류의 ML 응용 프로그램에 사용됩니다. 작동하지만 사용 가능한 커널이 훈련 모델에 최적화되어 있지 않으면 속도가 느립니다. Swift와 Julia는 컴파일하기 때문에 컴파일러가 알고리즘에서 그래프를 직접 추출하여 특정 작업에 최적화된 GPU 코드를 생성 할 수 있습니다. 이러한 이유로, 새로운 모델을 훈련시킬 수 있는 속도를 크게 향상시킵니다.

 

 

왜 TensorFlow를 위해 스위프트를 사용해야 할까요?

Swift와 Julia는 모두 파이썬 상호 운용성이 뛰어납니다. ML에 Swift 또는 Julia를 사용하기 위해 Python이 제공하는 모든 것을 포기할 필요가 없도록 많은 노력을 기울인 것을 알 수 있습니다. 관련 내용들이 많은 사이트에 참조되어 있으니, 그 부분을 참조하셔도 좋을 것 같습니다.

반응형