뒤로
이정민
이정민 ·

[Tip] 생각보다 트랙션 나오는 슬랙 이모지 사이트 👨‍💻

샘 알트먼 이모지 버전.png슬랙 이모지 만들기 AI와 함께 라면 어렵지 않아요 👋

여러분 다들 슬랙 사용하시나요?

슬랙(Slack)은 글로벌 1위 기업용 메신저로 22년도 기준 100대 기업 중 77 곳이 슬랙을 사용하고 있습니다.
사실 슬랙의 첫 시작은 게임(tiny spec)이었는데, 나중에 메신저로 피벗해서 큰 성공을 거두었습니다.

엔터테인먼트 기업으로 시작한 슬랙에 "일하는데 꼭 진지해야 되나?"라는 의구심에서 탄생한 슬랙 메신저의 정체성을 이루는 요소가 있습니다.

바로 이모지(Emoji) 입니다.

저희 회사 뿐만 아니라 다양한 스타트업, AI 커뮤니티의 슬랙을 보면 이모지를 정말 잘 사용하고 있는데요.

소통을 캐주얼하게 해준다는 점에서 큰 효과를 주는 것 같습니다.

그런데 남들 모두가 사용하는 이모지, 스타트업은 그런 거 안 좋아하잖아요.

차별화(?)를 위해 슬랙 이모지를 직접 만들거나 아니면 다른 홈페이지에서 가지고 오곤 합니다.

그래서 그런지 슬랙 이모지 사이트... 접속량이 꽤 있습니다. 세 개의 사이트를 살펴보면요.

  1. https://slackmojis.com/

image.png월간 방문 횟수 260K (23.09 기준)

  1. https://emoji.gg/

image.png

월간 방문 횟수 845K (23.09 기준)

  1. https://emoji-gen.ninja/ko/

image.png월간 방문 횟수 34K (23.09 기준)

오... 단순한데 많은 사람들의 관심을 이끌어 내었습니다.

그리고 이러한 관심을 잘 간파한 우리 오픈 소스 진영 내 한 개발자가 이모지의 창의성을 극대화한 서비스를 하나 들고 옵니다.

바로 https://emojis.sh/ 입니다.

우선 서비스 개발자의 말부터 들어 봅시다.

https://twitter.com/pondorasti/status/1709776270014443895

image.png런칭 24시간만에 160,000 개의 이모지 생성, 31,000명 방문...

현재 420,000 개의 이모지가 생성된 것으로 나오니 대략 80,000명이 방문했을 것으로 예측됩니다.

(물론 서비스 운영해보신 분들은 아시겠지만 열성 유저가 저 이모지의 대부분을 만들었을 수도 있습니다)

그런데 특이한 것이 보이죠?

바로 600개의 깃헙 스타입니다. 바로 오픈 소스로 홈페이지를 공유한 것인데요.

홈페이지를 봐야겠습니다.

image.png홈페이지는 정말 단순합니다. 이모지로 만들고 싶은 내용 입력 후 생성.

과정은 텍스트 필터링, 입력값에 어울리는 '이모지스러운' 이미지 생성, 배경 제거 의 순으로 진행되는 것으로 보입니다.

그리고 오른쪽 상단에는 깃헙 로고가 있는데 클릭하면 위 홈페이지의 전체 코드가 담긴 repo 로 연결됩니다.

이렇게 글로벌 레벨에서는 오픈 소스 생태계가 생각보다 정말 활발히 운영되고 있습니다.

그래서 저도 하나 공유를 드려볼까 하는데요. 슬랙 이모지 한 번 직접 만들어 봅시다.

sam altman with thumbs up _ios _2_clipdrop-background-removal.png저는 전 세계 3위, AI 분야 1위의 기업 가치를 자랑하는 오픈 AI 의 CEO 샘 알트먼이 참 대단한 사람이다 라고 생각합니다. 오픈 소스에 대척점에 서기는 했지만, Y Combinator 의 성공적인 운영에 이어 새로운 패러다임을 이끌어 나가고 있다는 점에서 존경스럽습니다.

그런 점에서 멋진 사람의 '따봉'이 좀 더 있어 보이는 것 같아(개인적인 생각) 저희 팀의 슬랙 이모지로도 알트먼의 따봉👍을 사용하기 시작했습니다.

슬랙 캡처.png

이런 샘 알트먼 이모지를 만들기 위해선,

  1. Colab 을 킵니다. 그리고 라이브러리를 다운 받습니다.

!pip install -U git+https://github.com/huggingface/diffusers.git
!pip install -U transformers accelerate xformers safetensors

  1. Stable Diffusion XL 을 세팅합니다. iOS emoji 의 파인튜닝 모델과 함께요.

import torch
from diffusers import AutoencoderKL, DDIMScheduler, StableDiffusionXLPipeline

# Set Scheduler
ddim = DDIMScheduler(
    num_train_timesteps=1000,
    beta_start=0.00085,
    beta_end=0.012,
    beta_schedule="scaled_linear",
    clip_sample=False,
    set_alpha_to_one=False,
    steps_offset=1,
)

# Set Decoder
vae = AutoencoderKL.from_pretrained(
    "madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16
)

model_id = "stabilityai/stable-diffusion-xl-base-1.0"

# Set Stable Diffusion
pipe = StableDiffusionXLPipeline.from_pretrained(
    model_id,
    vae=vae,
    scheduler=ddim,
    torch_dtype=torch.float16,
    variant="fp16",
    use_safetensors=True
).to("cuda")

# For efficient memory
pipe.enable_model_cpu_offload()
pipe.enable_xformers_memory_efficient_attention()

# IMPORTANT!!! Set LoRA of iOS emoji
pipe.load_lora_weights("camenduru/ios-emoji-xl", weight_name="ios_emoji_xl_v2_lora.safetensors")
pipe.fuse_lora(lora_scale=0.6)

  1. 입력값을 넣어 생성합니다.

prompt = "A TOK emoji of Sam Altman"
negative_prompt = "ugly, deformed, noisy, blurry, distorted, grainy, text, cropped"
generator = torch.Generator("cuda").manual_seed(42)
image = pipe(prompt=prompt, negative_prompt=negative_prompt, num_inference_steps=40, generator=generator)
image = image.images[0]

  1. 그 결과는 바로 다음과 같습니다.

sam altman _ios _pre.png좋은데 샘 알트먼이라고 하기에는 조금 애매합니다.

이럴 때는 IP-Adapter 를 사용해 참고할 만한 이미지를 일부 반영해 이미지를 생성해줍니다.

저는 샘 알트먼의 프로필 이미지를 참고하도록 사용했습니다.

from ip_adapter import IPAdapterXL

image_encoder_path = "/content/h94/sdxl_models/image_encoder" 
ip_ckpt = "/content/h94/sdxl_models/ip-adapter_sdxl.bin"  
ip_model = IPAdapterXL(pipe, image_encoder_path, ip_ckpt, device="cuda")

코드를 간략히 보면 이미지를 반영하는 image encoder 와 이미지를 생성하는 스테이블 디퓨전 모델에 반영되는 weight 값이 설정 되어야 함을 알 수 있습니다.

images = ip_model.generate(pil_image=profile_image, num_samples=1, num_inference_steps=50, seed=164710062023, prompt="A TOK emoji of a man with thumb up", negative_prompt="low quality, blurry, mutated", guidance_scale=7.5, scale=0.75)

profile_image 에 위 샘 알트먼의 프로필 이미지를 입력하고 기존과 동일하게 입력하여 이미지를 만들면 됩니다. 저는 '따봉을 주는' 샘 알트먼의 이모지가 필요했기 때문에 입력 값에 'with thumb up" 을 집어넣어 주었습니다.

그래서 나온 결과는 바로

sam altman with thumbs up _ios _2.png

위 이미지를 배경만 제거하면 슬랙 이모지에 사용할 수 있는 이미지가 만들어 지게 됩니다. 시도해 볼만 한가요?

당장은 코드 작업이 좀 불편한 분들이 계실 수도 있어서 저도,

  • Vercel 로 빠르게 웹페이지 배포 후 공개 (돈 많이 나갈 예정)

  • 특정 부위 묘사 잘하는 AI 모델 자체 개발 (새벽 남는 시간 데이터셋 모으는 중)

을 고민해 보고 있습니다.

스모어톡과 함께 이미지 AI를 기업 내에 도입하고 싶은 분들은 커피챗, 미팅 등으로 편하게 연락주세요 :)


이정민 (스모어톡, tonylee@smoretalk.io)

플라멜 Flamel v0.1

프롬프트 엔지니어링이 필요 없는 가장 쉬운 검색형 이미지 생성 서비스

17

댓글

로그인 후 댓글을 남길 수 있습니다.

유태영
유태영

정말 잘 읽었습니다! IPadapter의 활용을 슬랙에서부터 자연스러운 흐름으로 이어져서 읽기 흥미로웠네요! 아 혹시 시드값을 고정한 이유가 있으실까요?

이정민
이정민

감사합니다! 제가 보통 시드 값을 고정했던 것은 이미지 생성 시 원하는 이미지를 다시 생성하기 위해서 또는 다시 유사한 이미지가 생성 되는 것을 방지하기 위해서였습니다.

조쉬의 프로덕트 레터
조쉬의 프로덕트 레터

제품화시키시면 단기간에 엄청난 부를 이루실수 있겠어요! (EPIK 처럼요.)

이정민
이정민

우선 창업가로서 시도도 안 해보고 (돈과 시간이 적게 들 경우에 한해) 안된다고 하는 것은 지양해야 할 태도이기는 한데, 경쟁 서비스가 무료인 것과 프로필 사진처럼 바이럴성(멋지고 예뻐진 나를 사람들에게 알리는 홍보효과, 난 사진만 공유하면 다른 준비 필요 없음)이 있는 것은 아니라서 부를 이루기보다는 브랜딩 및 홍보에 되게 유용할 것 같기는 합니다 ㅎㅎ Josh 님의 글과 답글 바탕으로 한 번 시간 날 때 공유해보겠습니다 ㅎㅎ