금번 윈도 11 24H2 업데이트부터, 커널에서 POPCNT, SSE4.2 명령셋을 필수로 사용하도록 변경되었습니다. 따라서 이 명령셋들을 지원하지 않는 Core 2 CPU는 윈도 11 23H2 운영체제까지만 사용 가능합니다. 아직 Core 2 CPU를 사용한 PC를 가지고 있는 저로써는 좀 아쉽습니다만, POPCNT 명령셋이 필요한건 맞고, Core2 가 2006년에 출시되었을 정도로 오래된 CPU 이니 어쩔 수 없다고는 생각합니다.
※ POPCNT
2020년에 승인된 C++20 이라는 C++ 규격에 popcount() 라는 함수가 추가되었고, 제 기억엔 이때부터 곳곳에 POPCNT 명령셋을 필요로하는 경우가 많아졌습니다. 윈도11 뿐만 아니라 리눅스 배포판에서도 마찬가지입니다.
POPCNT 는 비트가 세팅된 개수를 세는 명령입니다. 원래는 루프 돌리면서 복잡하게 계산해야 했는데 CPU의 명령셋 하나로 계산할 수 있게되고 그만큼 매우 빠르게 계산됩니다. 이 명령은 해시 함수에서는 널리 사용되는 기능인데 이제 추가되었네요.
미소녀 만화 그림체의 LoRA 를 받아 생성한 그림이다. 미소녀 만화 그림체로 그려주는 LoRA 는 많지만 내가 사용하는 모델에 잘 어울리는 LoRA 는 찾기 힘들다. 사진에 사용한 LoRA 도, LoRA 소개 이미지는 아래 그림과 딴판이었다. 즉 이런 LoRA 를 발견한건 상당한 운이 있었던 셈.
LoRA 가 학습을 강하게 했는지, 다른 형태의 이미지를 생성할 수는 있지만, 프롬프트를 많이 바꾸지 않으면 유사한 이미지들이 많이 나온다. 이것저것 해보다가 아래와 같은 형식이 가장 예쁘게 나왔다. 뭔가 귀족풍의 아가씨를 만드려고 하는 내 의지와 맞았다.
리본 형태의 나비넥타이. 의외로 자주 보는 넥타이 형식인데, 이 형태가 SD 에서는 나오질 않았다. 나왔다 해도 조금 이상하게 나오기도 했다.
그래서 LoRA 를 만들어서 구현해 봤다. 인터넷에서 유사한 이미지들을 찾고 그림판에 붙이고 자르고 그려 넣어서 그럴듯한 이미지를 만들고, 이 이미지로 LoRA 를 만든다. LoRA 를 사용해 다시 이미지를 만들고 다시 학습시켜서 LoRA 만들고. 이걸 반복하다 보면 만족할만한 품질의 LoRA 가 나온다.
대략 모양이 나오게 만들었으면 이후 디테일을 높이고 이것저것 장식을 만들면 완성. 말이 쉽지 약 52시간 정도 걸렸다. 일주일 정도 걸린 셈. 그렇게 해서 나온게 아래 이미지들이다.
- 2R 은 2개의 Rank 으로 구성 (듀얼랭크라고 읽는다) - x8 은 8개의 영역을 하나의 뱅크로 구성
※ 보통 소비자용 메모리에서 2R 이면 양면램을 의미한다. 앞/뒤로 메모리가 달려있고 각각 1개의 랭크로 구성되어있기 때문이다. (양면 메모리와 2R 는 다른 의미다. 양면 메모리도 1R으로 만들 수 있다)
※ x16은 16개의 메모리 영역이 한개의 뱅크로 구성되어있다는 의미로, x8 메모리보다 더 느리다. 같은 메모리 모듈인데 뱅크 구성 단위가 낮으면 그만큼 메모리에 접근할 수 있는 공간이 늘어나기 때문이다. 이게 고속 메모리 연산이 필요한 작업, 예를 들어 게임에서는 성능차이가 많이 난다. x16이라고 소비자가격이 낮은건 아니기 때문에 반드시 x8 을 구매하자. 서버급 메모리에서는 x4 도 사용하곤 한다.
※ 그외에도 x8 메모리와 x16 메모리를 혼용하는것도 권장하지 않는다. 일부 구형 마더보드에서는 아예 인식 자체가 안되기도 한다. 따라서 성능 좋고 호환성 좋은 x8 메모리를 구매하는 것이 좋다.