Community

고성능 ML 백엔드를 위한 10가지 Python 성능 최적화 팁

하이퍼커넥트에서 고성능 ML 백엔드를 위한 10가지 Python 성능 최적화 팁이라는 내용으로 글을 작성해주셨네요! MLOps 관점, 백엔드 개발 관점에서 알아두면 좋은 내용이 많으니 꼭 읽어보시면 좋을 것 같아요 :) 목차 - 상황에 따라 gc가 병목일 수 있다. 이런 경우 gc 발동 조건을 튜닝할 수 있다. - Built-in list는 충분히 빠르지 않다. 필요시 array나 numpy를 사용하자. - multiprocess는 커뮤니케이션 오버헤드가 높기에, low-latency 시나리오에서 조심히 사용해야한다. - Pytorch를 multiprocess 환경에서 쓴다면 num_threads를 조정하자. - Pydantic은 아주 느리다. 불필요한 곳에서 가급적 사용하지 말자. - Pandas DataFrame은 생성에 많은 시간이 걸리므로, 유의해서 사용해야 한다. - 바닐라 json 패키지는 느리다. orjson이나 ujson을 사용하자. - Class는 충분히 빠르지 않을 수 있다. 너무 문제가 되면 dict를 사용하자. - Python 3.11은 덜 느리다. - (보너스) line profiler 사용법 https://hyperconnect.github.io/2023/05/30/Python-Performance-Tips.html

알림

알림이 없습니다