월요일, 10월 20, 2025

macOS M2에 MLX + Llama 3.2 3B 설치 및 실행 가이드

 

1️⃣ 환경 준비

  1. Homebrew로 Python 설치 (권장)
    macOS 기본 Python은 제한적이므로 Python 3.12 설치 권장
    brew install python@3.12
  2. 가상환경 생성 및 활성화
    python3.12 -m venv ~/llama32_3b_env
    source ~/llama32_3b_env/bin/activate

2️⃣ MLX 설치

pip install --upgrade pip
pip install mlx
pip install mlx-lm
MLX는 Llama 모델을 쉽게 불러올 수 있는 Python 패키지입니다.

3️⃣ Hugging Face 로그인 및 토큰 설정

  1. Hugging Face 사이트에서 Access Token 생성 (Fine-grained, 모델 읽기 권한)
    - 이름: 예시 llama_local_use
    - 권한: Read access to all public gated repos you can access 정도면 충분
  2. MLX에서 토큰 저장
    huggingface-cli login
    - 토큰 입력
    - "Add token as git credential?" → n (No)

로그인 성공 시 토큰이 ~/.cache/huggingface/token에 저장됩니다.

4️⃣ Llama 3.2 모델 실행(자동 다운로드)

4-1. 텍스트 생성

ppython -m mlx_lm generate \
  --model meta-llama/Llama-3.2-3B-Instruct \
  --prompt "Hello, how are you?" \
  --max-tokens 300 \
  --temp 0.7

4-2. 대화형 모드

python -m mlx_lm.chat --model meta-llama/Llama-3.2-3B-Instruct

모델이 로컬에 없으면 자동 다운로드되며, 이미 다운로드되어 있으면 바로 실행됩니다.

5️⃣ 실행 최적화 팁 (3B 모델 기준)

  • --max_new_tokens 300 → 생성 길이 늘리기
  • --temperature 0.7 → 답변 다양성 조절

6️⃣ 자동 실행용 Bash 스크립트 예시

#!/bin/bash

# 3B 모델용 가상환경 경로
VENV_PATH="$HOME/llama32_3b_env"

# 가상환경 활성화
source "$VENV_PATH/bin/activate"

# 사용자 프롬프트 인자 확인
PROMPT=${1:-"Hello, how are you?"}

# 모델 실행
python -m mlx_lm generate \
  --model meta-llama/Llama-3.2-3B-Instruct \
  --prompt "$PROMPT" \
  --max-tokens 800 \
  --temp 0.7

사용 방법:

chmod +x run_llama32_3B.sh
./run_llama32_3B.sh "자바스크립트 기본 문법 설명해줘"


macOS에 MLX + Llama 3.2 1B 설치 및 실행 가이드

1️⃣ 환경 준비

  1. Homebrew로 Python 설치 (권장)
    macOS 기본 Python은 제한적이므로 Python 3.12 설치 권장
    brew install python@3.12
  2. 가상환경 생성 및 활성화
    python3.12 -m venv ~/llama32_mlx_env
    source ~/llama32_mlx_env/bin/activate

2️⃣ MLX 설치

pip install --upgrade pip
pip install mlx

MLX는 Llama 모델을 쉽게 불러올 수 있는 Python 패키지입니다.

3️⃣ Hugging Face 로그인 및 토큰 설정

  1. Hugging Face 사이트에서 Access Token 생성 (Fine-grained, 모델 읽기 권한)
    - 이름: 예시 llama_local_use
    - 권한: Read access to all public gated repos you can access 정도면 충분
  2. MLX에서 토큰 저장
    huggingface-cli login
    - 토큰 입력
    - "Add token as git credential?" → n (No)

로그인 성공 시 토큰이 ~/.cache/huggingface/token에 저장됩니다.

4️⃣ Llama 3.2 모델 실행

4-1. 텍스트 생성

python -m mlx_lm.generate --model meta-llama/Llama-3.2-1B-Instruct --prompt "Hello, how are you?"

4-2. 대화형 모드

python -m mlx_lm.chat --model meta-llama/Llama-3.2-1B-Instruct

모델이 로컬에 없으면 자동 다운로드되며, 이미 다운로드되어 있으면 바로 실행됩니다.

5️⃣ 실행 최적화 팁 (1B 모델 기준)

  • --max_new_tokens 300 → 생성 길이 늘리기
  • --temperature 0.7 → 답변 다양성 조절
  • 1B 모델은 복잡한 코드 생성, 번역, 긴 설명에는 한계가 있으므로 필요 시 7B 이상 모델 사용 권장

6️⃣ 자동 실행용 Bash 스크립트 예시

#!/bin/bash
VENV_PATH="$HOME/llama32_mlx_env"
source "$VENV_PATH/bin/activate"
PROMPT=${1:-"Hello, how are you?"}
python -m mlx_lm.generate --model meta-llama/Llama-3.2-1B-Instruct --prompt "$PROMPT"

사용 방법:

chmod +x run_llama32.sh
./run_llama32.sh "자바스크립트 기본 문법 설명해줘"

이미 다운로드된 모델이면 바로 실행됩니다.

일요일, 7월 08, 2012

[비추천] 용인지역 드라이브 코스 - 98번 국지도

보통은 괜찮은 드라이브 코스가 올라온다. 하지만 잘못된 정보가 올라오는 경우도 많다.
그중에 용인IC를 빠져나와 곤지암으로 가는 98번 국지도 드라이브 코스가 있다. 블로그에 소개되기로는 한적하다고 되어 있는데 주말에는 생각 보다 차가 많고 그나마 경치 좋은 곳에는 식당이 너무 많아서 실망이 컸다.



화요일, 2월 07, 2012

네트워크 디바이스 이름 변경(소스 코드)

SIOCSIFNAME



#include
#include
#include
#include
#include
#include
#include
#include
#include

int main(int argc,char **argv) {

        int fd; struct ifreq ifr;

        if (argc<3) {

                fprintf(stderr,"Usage: ifmv oldname newname\n"); return 1;

        }

        if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {

                perror("socket(PF_INET, SOCK_DGRAM, 0)"); return -1;

        }

        strncpy(ifr.ifr_name,argv[1],sizeof(ifr.ifr_name)); strncpy(ifr.ifr_newname,argv[2],sizeof(ifr.ifr_newname));

        if (ioctl(fd, SIOCSIFNAME, &ifr)==-1) {

                perror("ioctl(SIOCSIFNAME)"); return 1;

        }

        return 0;

}


금요일, 1월 13, 2012

윈도우에서 opensearchserver(OSS) 실행하기

http://sourceforge.net/projects/opensearchserve/

1. 윈 링크에서 파일 다운로드
2. 암축 푼 후 터미널(cmd)에서 암축 푼 폴더로 이동
3. 자바가 설치되어 있지 않다면 java 설치
4. start.bat 실행
5. 웹브라우저로 http://localhost:8080/ 접속


[참조]
http://www.open-search-server.com/wiki/en/index.php/Installation_-_Windows

금요일, 4월 15, 2011

strsep의 잘못된 사용법

아래와 같이 코딩하면 strsep함수 내에서 에러가 발생한다.
main()
{
char stemp[256];
char **bf;
char *tok;

strcpy(stemp, "a,b,d,q,r,c");
bf = &stemp;

tok = strsep(bf, ',');
}


다음과 같이 수정해야 한다.

main()
{
char stemp[256];
char **bf;
char *tp;
char *tok;

strcpy(stemp, "a,b,d,q,r,c");
tf = stemp;
bf = &tf;
tok = strsep(bf, ',');
}

목요일, 3월 31, 2011

ubuntu 10.10(커널 2.6.35)에 새로운 커널 설치하기

kernel.org에 현재 최신커널은 2.6.38.1인데 ubuntu 10.10에서는 2.6.35가 가장 최신 커널이다.
그래서 새로운 커널을 받아서 설치하기로 했다.
커널 설정을 일일이 다 해주기 불편하므로 기존 설정을 가져온다.
$ cp /boot/config-2.6.35-28-server .config
<참조> 위는 서버로 설치한 경우이고 그렇지 않은 경우에는 /boot/config-{버전}-generic 으로 되어있다.

또는 make oldconfig 명령으로 기존 설정과 비교하면서 설정을 변경 할 수도 있다.

* 새로운 커널 컴파일
fakeroot make-kpkg --initrd --append-to-version=linux2.6.37.5 kernel_image kernel_headers
커널 이미지는 현재 커널을 빌드한 사위 디렉토리에 생성된다.


* 새로운 커널 설치
sudo dpkg -i linux-image-2.6.37.5linux2.6.37.5_2.6.37.5linux2.6.37.5-10.00.Custom_amd64.deb 
sudo dpkg -i linux-headers-2.6.37.5linux2.6.37.5_2.6.37.5linux2.6.37.5-10.00.Custom_amd64.deb

/boot/grub/grub.cfg에 보면 새로 컴파일된 커널이 등록되어 있다.





수요일, 3월 24, 2010

청주 배드민턴전용구장 이용안내

위치




배드민턴 전용구장 운영안내

�� 시설물 현황
❍ 경기장(마루바닥) : 12코트 ☜ 운동화 착화 時 입장
❍ 화장실 : 남,여,장애인 각 1개소
❍ 탈의실 및 샤워실 : 남,여 각 1개소
❍ 동아리 실 : 1개소

�� 배드민턴장 운영시간
❍ 새 벽 반 : 06:00~08:00
❍ 오 전 반 : 10:00~12:30
❍ 오 후 반 : 13:30~16:00
❍ 저 녁 반 : 19:30~22:30

�� 경기장(12코트) 이용방법
❍ 이 용 료 : 무료
❍ 코트별 이용자 배정
∙2면 : 장애인
∙3면 : 일반시민 사용 및 초보자 지도, 타 클럽회원
※ 특정인 코트점령 방지를 위해 1회 30~40분사용,
기타 갈등이 있는 경우 추첨 실시 등
∙7면 : 클럽회원
※모든 클럽 및 시민, 단체에서 경기(사용)시 사전신청 협의 후
이용 가능하도록 탄력적 운영

�� 문의 및 연락처 : 청주시체육회(☎ 273-6662)�

<참조> 청주시민문화예술체육회관

목요일, 2월 04, 2010

아이폰에서 라디오 방송 듣는 방법

프로그램은 fstream을 사용하고


mms 또는 http 주소는 다음을 등록하면 됨


MBC FM4U :
mms://vod1.dgmbc.com/fmlive

MBC표준FM :
mms://vod1.dgmbc.com/amlive

SBS POWER FM :
http://heisice.com/radio/redirect_to/sbs_powerfm/

SBS LOVE FM :
http://heisice.com/radio/redirect_to/sbs_lovefm/

KBS 1FM
mms://210.115.221.31/KJMUSICFM

KBS 2FM
http://eunion.pe.kr/radio.php?id=KBS

수요일, 8월 26, 2009

봄날은 간다

연분홍 치마가 봄바람에 휘날리더라
오늘도 옷고름 씹어가며
산제비 넘나드는 성황당 길에
꽃이 피면 같이 웃고 꽃이 지면 같이 울던
알뜰한 그 맹세에 봄날은 간다

새파란 풀잎이 물에 떠서 흘러가더라
오늘도 꽃편지 내던지며
청노새 짤랑대는 역마차 길에
별이 뜨면 서로 웃고 별이 지면 서로 울던
실없는 그 기약에 봄날은 간다

열아홉 시절엔 황혼속에 슬퍼지더라
오늘도 언가슴 두드리며
뜬구름 흘러가는 신작로 길에
새가 울면 따라 웃고 새가 울면 따라 울고
얄궂은 그 노래에 봄날은 간다


=====================================


눈을 감으면 문득
그리운 날의 기억
아직까지도 마음이 저려 오는 건

그건 아마 사람도
피고 지는 꽃처럼
아름다와서 슬프기 때문일 거야, 아마도.

봄날은 가네 무심히도
꽃잎은 지네 바람에
머물 수 없던 아름다운 사람들

가만히 눈 감으면 잡힐 것같은
아련히 마음 아픈 추억같은 것들

봄은 또 오고
꽃은 피고 또 지고 피고
아름다와서 너무나 슬픈 이야기

봄날은 가네 무심히도
꽃잎은 지네 바람에
머물 수 없던 아름다운 사람들

가만히 눈 감으면 잡힐 것같은
아련히 마음 아픈 추억같은 것들

눈을 감으면 문득
그리운 날의 기억
아직까지도 마음이 저려 오는 건
그건 아마 사람도 피고 지는 꽃처럼
아름다와서 슬프기 때문일 거야, 아마도

화요일, 8월 04, 2009

Mac과 iPod touch간에 Things 프로그램 동기화 실패할 경우 해결 방법

Things 을 잘 사용하다가 어느 순간부터( 아마 어프리케이션이 새로운 버전으로 업데이트 되고 나서) 동기화 에러가 발생했다.
가끔 터치에 있는 프로그램이 이상 증상을 보일 경우 삭제 후 다시 설치하면 정상적으로 동작하는 경우가 있어서 해보았으나 에러는 계속 발생했다.

원인은 Mac의 Things과 iPod Touch의 Things 동기화에 필요한 코드값이 틀어진것으로 보인다.
Preferences -> iPhone에서 iPod Touch 를 Unpair 한 후 다시 Pair하면 정상적으로 동기화가 된다.

월요일, 6월 01, 2009

그가 꿈꾸던 세상

존경하는 국민여러분, 의원여러분

부산 동구에서 처음으로 국회의원이 된 노무현입니다.

국무위원 여러분 저는별로 성실한 답변을 요구안합니다.

성실한 답변을 해도 비슷하니까요..

청년학생들이 죽어가는 것은

감옥에 가서 참회해야 될 사람들이

권력을 잡고 온갖 도둑질을

다 해먹으면서 바른 말 하는 사람

데려다가 고문하고 죽이는 바람에 생긴 일이니까

그 사람들이 임명한 국무총리와 국무위원에게

무슨대책이 있으리라고는 믿지 않습니다.

물으면 제가 그르지요


제가 생각하는 이상적인 사회는 더불어 사는 사람

모두가 먹는 것, 입는 것 이런 걱정 좀 안 하고

더럽고 아니꼬운 꼬라지 좀 안 보고

그래서 하루하루가 좀 신명나게 이어지는 그런 세상이라고 생각합니다.

만일 이런 세상이 좀 지나친 욕심이라면

적어도 살기가 힘이 들어서

아니면 분하고 서러워서 스스로 목숨을 끊는

그런 일은 좀 없는 세상,

이런 것이라고 생각합니다.

노동자와 농민이 다 함께 잘 살게 되고

임금의 쳑차가 줄어져서

굳이 일류대학을 노아지 않는다 할 지라도

그리고 높은 자리에 안 올라가도

사람 대접 받을 수 있는 그런 세상이 되면

그런 세상이 와도.....


- 노무현 전 대통령 초선의원 시절 국회 연설문 -

수요일, 1월 07, 2009

환율 정보를 얻는 다양한 방법

단순히 현재 다양한 외화의 환율을 알고 싶다면 Currency Converter라는 맥용 위젯이 쓸만하다.
이 회사에서는 iPod Touch용도 제공한다.

간단히 환율 계산을 하고 싶다면 구글 검색에서도 가능하다.
예를 들어 12달러가 몇원인지 알고 싶다면 12달러=?원 으로 검색하면 간단히 결과를 알 수 있다.
그러나 정확한 현재 환율이 아닐수도 있으므로 외화거래시에는 다른 사이트를 참조.

환율의 변화 추이를 알고 싶다면 yahoo에서 제공하는 환율 그래프가 쓸만하다.
오늘자 유로/원 환율 그래프는 아래와 같다.

사용자 삽입 이미지

추가로 달러/원 환율 그래프

사용자 삽입 이미지

목요일, 12월 18, 2008

한국에서 미국 ITunes Store 앨범 & App 구입 방법

1. 한국 iTunes 계정을 만든다. 신용카드 정보도 다 입력해서 국내 iTuens 에서는 구입 가능한 상태를 만든다.
2. 미국 iTuens 계정을 만든다. 요건 킬그로그님이 잘 정리해 주셨습니다. ( http://cusee.net/2461768 )
3. iTuens에서 미국 계정으로 로그인하고 오른쪽 상단에 있는 QUICK LINKS -> Buy iTuens Gifts 클릭
4. Email Gift Certificates , Printable Gift Certificates, iTuens Gift Cards중 iTuens Gift Cards 방법 선택
5. iTuens Gift Cards를 후 Continue를 클릭하면 Apple Store (US)에 접속 된다.
구입하고자하는 카드를 선택한다.
사용자 삽입 이미지

6. Add to Card 클릭
7. Check out now 클릭
8. Sign In 창에서 미국계정의 Apple ID를 입력하지 말고 한국계정의 Apple ID를 입력한다.
한국계정에 등록된 신용카드를 사용하기 위해서이다.
9. Verify your order에서 필요한 정보를 입력한다.
특히 주소는 미국내 주소만이 가능하다. 지인의 주소지로 입력
10. Place my order로 구입 완료

11. iTuens의 iTuens Store의 왼쪽 상단 QUICK LINKS -> Redeem 클릭
12. 구입한 카드 뒷면의 Redeem Code를 입력한 후 Redeem 클릭
13. iTues 왼쪽 상단에 머니가 충전
사용자 삽입 이미지

14. 이제 구입하고 싶은 앨범을 구입하기만 하면 된다.

월요일, 11월 24, 2008

한겨레신문 사이트가 공격 사이트?

사용자 삽입 이미지

차단 이유를 보니 다음과 같았다.

안전 브라우징

진단 페이지 hani.co.kr

hani.co.kr의 위험 평가 결과

위험 사이트 의심 대상에 포함된 사이트입니다. 이 사이트를 방문하면 컴퓨터 보안에 해로울 수 있습니다.

지난 90일 동안 사이트에서 의심되는 행위가 9회 보고되었습니다.

Google이 사이트를 방문했을 때의 결과

지 난 90일간 진행된 사이트 테스트에서 3056개의 페이지 가운데 447개에서 사용자 동의 없이 악성 소프트웨어가 다운로드 및 설치된 것으로 확인되었습니다. Google이 사이트에 마지막으로 방문한 것은 2008-11-23이며, 의심되는 콘텐츠가 마지막으로 발견된 것은 2008-11-23입니다.

악성 소프트웨어 중에는 179 scripting exploit(s), 132 trojan(s), 44 exploit(s)이(가) 있는데 감염 결과 대상 시스템에 평균 3개의 새로운 프로세스가 생겨났습니다.

mm861.com, shunxing.com.cn, mysy8.com을(를) 포함한 16개의 도메인에서 악성 소프트웨어를 호스팅하고 있습니다.

ardoshanghai.com, sion.or.kr, dae3.cn을(를) 비롯한 6개의 도메인이 이 사이트 방문자에게 악성코드를 유포하는 중개 역할을 한 것으로 나타났습니다.

이 사이트를 통해 감염된 사이트

지난 90일간 hani.co.kr이(가) kmatimes.com, ecoece.or.kr, studymega.com을(를) 포함한 5개의 사이트를 감염시킨 것으로 나타났습니다.

악성 소프트웨어 유포

아니요. 이 사이트는 지난 90일간 악성 소프트웨어를 호스팅하지 않았습니다.

위험 평가 결과의 원인

합법적인 사이트에 제3자가 악성코드를 추가될 수 있으며 이때 경고 메시지가 표시됩니다.

다음 단계:

수요일, 10월 15, 2008

냉장고에 보관하면 안되는 과일이 의외로 많다

냉장고에 보관하면 안되는 식품인데 그동안 냉장고에 보관하던 식품이 있다.


열대과일만 냉장고에 보관하면 안되는줄 알았는데 다른 과일들도 꽤 많다.
오이, 마늘, 감, 고구마, 감자등도 냉장고에 보관하면 안된단다.
특히 내가 좋아하는 복숭아도 에틸렌 발생때문에 숙성 후에 냉장고에 넣으라는데 난 숙성된거 싫은데 어쩌지?

금요일, 10월 10, 2008

postfix의 메세지 용량 제한 풀기

postfix에서 기본적으로 메일박스 용량은 무제한으로 되어있다.
그러나 각 메세지는 10M로 제한이 걸려있다.
(main.cf에 특별한 설정이 없으면 기본으로 10M로 제한이 걸려있다.)
아래와 같이 설정하면 각 메세지 용량은 무제한으로 보내고 받을 수 있다.

message_size_limit = 0

금요일, 9월 26, 2008

yahoo에서 환율 계산 & 그래프 보기

http://finance.yahoo.com/

위 사이트에 접속 한 후

사용자 삽입 이미지

달러를 원화로 계산하고 싶으면 USDKWR=X, 유로화를 원화로 변환하고 싶으면 EURKWR=X를 입력한 후 GET QUOTES를 클릭하면 된다. (위안화/원화 => CNYKWR=X)

아래처럼 차트도 볼 수 있다.
사용자 삽입 이미지