"FastSD CPU" CPU 만을 사용해서 이미지를 생성한다. LCM 이나 OpenVINO 를 사용하는듯.
예전에 한번 써보고 관심 없었는데, 갑자기 CPU 로 사용하는건 어떨까 해서 찾아봤다.
스텝은 4 이하로 설정하는게 핵심이다. 4 이하로 설정해도 품질이 좋은 이미지를 생성하기 위해 여러가지 작업을 한다. 물론 그렇지 않은 모델보다는 떨어지지만, 속도가 매우 중요한 경우에는 이 방법밖에 없다.
i7-7700K 에서 1장 생성하는데 약 30초 정도 걸린다. 품질도 생각보다는 좋다.
아래와 같이 LCM-LoRA 모델을 사용했다. OpenVINO 로 사용해도 속도는 크게 달라지지 않았다. OpenVINO를 사용해 성능을 향상시키려면 최신 CPU가 필요한것 같기도 하다. 예를 들어 AVX-VNNI 를 지원하는 CPU 말이다. (OpenVINO 는 AVX2 를 지원하는 CPU 에서 사용할 수 있다)
CPU 사양은 i7-7700K 인데, 결론은 계속 못 돌릴것 같다. 발열이 너무 심하다. TDP 91W 라는 수치가 믿기지 않을 정도의 발열이다. 80°C 넘는건 기본(80°C 는 CPU 의 1차 발열 제한 수치다) 이고 100°C 에 육박한다. 스로틀링 걸린거 같은데 7700K 가 망가질까봐 더이상 돌려보지 않았다.
105°C 넘어가면 아예 CPU 가 종료(시스템 종료)되는걸로 알려져있다. T JUNCTION 이 사용하기에 안전한 CPU 의 온도이기 때문에 100°C 까지 버틴다는 의미다. 단 CPU 온도가 100°C 부근이라면 쓰로틀링 걸리는 중일 수 있으니 성능도 같이 확인해보자.
※ TDP 는 요즘에는 Processor Base Power 라고 불리는데, 프로세서의 기본 전력 소비량이다. 터보부스트를 사용하지 않는 경우에 대한 전력 소비량이다. 터보부스트를 포함한 최대 전력 소비량은 Maximum Turbo Power 항목에서 찾을 수 있는데, 이 항목은 12세대 CPU 이후부터 표기된다. 이런 경우에는 Thermal Solution 에 나와있는 와트수를 보면 된다. 위 표에는 130W 라고 되어있는데, 이 수치는 인텔에서 판매하는 쿨러중에서 최 상급 쿨러다. 즉, i7-7700K 의 전력 소모는 사실상 130W 라는 의미다.
PCG 2015D 를 만족하는 Intel Thermal Solution BXTS15A. 팬 포함해 쿨러 높이가 90mm 이다.
PCG 2015D 를 만족하는 Intel Thermal Solution BXTS13X 수랭쿨러다.
※ Stable Diffusion 를 CPU으로 돌린거라 코어 4개가 모두 사용중이고 AVX, AVX2 를 사용하고 있다. 원래 AVX 를 사용하면 발열이 심해진다고 알려져 있기 때문에, 어느 정도 온도가 높을꺼라고, 80 도 정도까지는 생각했다. 하지만, 100도 일줄은 몰랐다. SD 는 수시간, 수십시간씩 실행하기 때문에 100도를 유지하면서 몇일씩 실행하는건 무리다. 게다가 현재 달아준건 수냉이기 때문에 코어 히트싱크 부근에 물이 끓어 순간적으로 기포 생길까봐 무서워서 못하겠다. (염려된다는거지 실질적인 문제가 있다는건 아니다)
※ 참고로 PCG 2015는 인텔에서 스카이레이크 프로세서를 출시할 때 정한 써멀 솔루션의 스펙이다. A ~ D까지 있고 대략 아래와 같은 소비전력을 커버할 수 있다.