Go언어는 AI에 활용할수있나요?
Go언어는 어디에 많이쓰이나요?
파이썬과 비교해서 속도차이가 많이 난다고 들었습니다.
Ai를 공부하는 학생인데 개인적인 생각으로
속도에서 월등하다고하고 병렬적 처리가 가능하다니
Ai에서도 활용가능하지않을까요?
인공지능을 공부하셨다는데 뭔가 아쉬운 부분이 있습니다.
근래 대세로 자리잡은 딥러닝의 경우 gpu의 병렬성에 의존한 연산을 합니다. 물론 분산처리로 딥러닝 뿐만 아니라 대부분의 ai 성능을 올릴 수야 있겠지만 아직까진 구현과 관리의 복잡성을 이유로 단일 머신에서 연산하는 것이 대부분입니다. go 채널의 병렬성과 딥러닝에서의 병렬성은 다른 의미입니다.
또한 python을 사용하는 이유가 다름이 아니라 python이 c라이브러리를 불러와 사용할 수 있기 때문에 핵심 코드는 c++언어로 개발하고, 인터페이스만 직관적인 언어인 python으로 개발하기 위함입니다. 굳이 성능을 고민할 필요가 없는 것이죠. 성능이 필요한 부분이 있다면 c++언어로 해결해야 합니다.
물론 말씀하신 대로 golang을 활용은 가능하나 앞에 나열한 이유 때문에 속도와 병렬적 처리를 위해서 golang을 선택하는 것은 옳지 않습니다.
Go 언어는 웹 프레임 워크나 Go 언어를 통해 ios 앱이나 안드로이드 앱을 만들 수 있도록 적용 중에 있다고 합니다.
현재 Go 언어는 인공지능 관련해서 프로젝트가 많지 않은 것으로 보이며 굳이 파이썬에서 많이 진행된 인공지능 개발을
Go언어로 넘기는 것보다 파이썬만 가지고 개발을 하는 것이 나은 선택이라 생각되는 것 같습니다.
충분히 Go 언어도 인공지능에 활용이 가능하겠지만 지금 현재로써는 파이썬을 이용하는 것이 효율적이라 보입니다.
Go언어는 어디에 많이쓰이나요? 라고 문의하셨는데요
생각외로 가장 가까운데서 많이 사용하고 있습니다
바로 당근마켓이 GO언어로 만들어져 있는데요
당근마켓 개발자 말로는 여러가지 개발언어 타당성 조사하다가
GO언어가 최적이라고 판단하여 go로 만들었다고 합니다!
아시겠지만 당근마켓에서 서핑해보시면, 상당히 매끄럽게 동작하시는걸 아실텐데요
이게 GO + 잘설계된 db + 최적화된 분산시스템 등으로 이루어진것입니다
그리고 ai 도 잘 접목하면 가능하겠지만, 용도에 따라서 개발언어가 많이 틀려질거라 생각합니다
충분히 가능합니다.
이미 TensorFlow는 Go언어를 지원하는 걸로 알고 있습니다.
GPU, TPU를 사용해서 딥러닝 가속화하는데 필요한 라이브러리는 이미 C언어로 구현됐고, 아 라이브러리를 이용해서 PyTorch나 TensorFlow같은 딥러닝 프레임워크를 Go언어를 사용해서 구현하시면 될듯합니다.
하지만 이미 파이썬으로 잘 만들어졌다는 점이 Go언어 활용을 굳이 해야되냐 라는 생각이 들게 하는 것이죠.
하지만 속도를 더 빠르게 한다는 점에서 충분히 좋은 접근법인 것 같습니다. 다양한 언어에서도 딥러닝할 수 있는 날이 왔으면 좋겠네요.