HackMD
    • Create new note
    • Create a note from template
    • Sharing Link copied
    • /edit
    • View mode
      • Edit mode
      • View mode
      • Book mode
      • Slide mode
      Edit mode View mode Book mode Slide mode
    • Customize slides
    • Note Permission
    • Read
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • Write
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • Commenting & Invitee
    • Publishing
      Please check the box to agree to the Community Guidelines.
      Everyone on the web can find and read all notes of this public team.
      After the note is published, everyone on the web can find and read this note.
      See all published notes on profile page.
    • Commenting Enable
      Disabled Forbidden Owners Signed-in users Everyone
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Invitee
    • No invitee
    • Options
    • Versions and GitHub Sync
    • Transfer ownership
    • Delete this note
    • Note settings
    • Template
    • Save as template
    • Insert from template
    • Export
    • Dropbox
    • Google Drive Export to Google Drive
    • Gist
    • Import
    • Dropbox
    • Google Drive Import from Google Drive
    • Gist
    • Clipboard
    • Download
    • Markdown
    • HTML
    • Raw HTML
Menu Note settings Sharing Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Transfer ownership Delete this note
Export
Dropbox Google Drive Export to Google Drive Gist
Import
Dropbox Google Drive Import from Google Drive Gist Clipboard
Download
Markdown HTML Raw HTML
Back
Sharing
Sharing Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Comment & Invitee
Publishing
Please check the box to agree to the Community Guidelines.
Everyone on the web can find and read all notes of this public team.
After the note is published, everyone on the web can find and read this note.
See all published notes on profile page.
More (Comment, Invitee)
Commenting Enable
Disabled Forbidden Owners Signed-in users Everyone
Permission
Owners
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Invitee
No invitee
   owned this note    owned this note      
Published Linked with GitHub
Like BookmarkBookmarked
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# 第55回情報科学若手の会{に参加,で発表,を運営}しました ![交流イベントでチーム1が提出した画像(prompt: "a brown cat with surprised face on the left, looking into left side, galaxy background")](https://i.imgur.com/WykLFEG.png) <small>交流イベントでチーム1が提出した画像(プロンプト: a brown cat with surprised face on the left, looking into left side, galaxy background)</small> 自分のブログの生成に使っていた自作の静的サイトジェネレータをひさしぶりに動かそうとしたところ、Apple silicon上でビルドを上手くできなかったり使い方を完全に忘れたので、とりあえずこちらに書こうと思います。 ## 感想 今回は51回ぶりの現地開催の若手の会だったので(そして自分が代表幹事として迎えるはじめての現地開催!)ここ数年のオンラインオンリーと違って準備するべきことが沢山あったり、会直前に色々な対応に追われることがあって準備が中々に忙しかったです。他の幹事の皆様、何かとサポートしていただき本当に感謝しています... 自分は現在香港に住んでいるので、会の一週間前に日本入りをして会の開催準備や自分の発表の準備に取り組んでいました。そして、会の前日に[kuge_masa](https://twitter.com/kuge_masa)さんと[kyontan](https://twitter.com/sukukyon)さんと合流して、肉を食べ、温泉を楽しみ、各種準備をやり、当日へ。 1日目の発表は情報教育・量子インスパイアな組合せ最適化・ruiさんによるOSSをやっていくことについての招待公演、といったお話がありました。初日の時点でかなり多様なトピックでかなり楽しかったです。特に情報を教えるのをどうやってやっていくかを現実的に考えていくのは自分も関心があるものの教育者の立場の話を聞くことはなかったのでかなり勉強になりましたし、ruiさんによるオープンソースをビジネスとしてやっていく上でどう考えているか、みたいな話もかなりためになった気がします。発表の後は夕食と交流イベントをやりました(交流イベントに関しては後述)。 2日目は非公開セッション(現地開催の醍醐味!)、そして型システムの応用・計算クラスタの運用・広告のユーザー体験に関する巨大論文サーベイ・竹迫さんによるインダストリーR&Dをやっていくことについての招待公演・等々の発表がありました。自分としては理論を応用して上手くやっていく、みたいなテーマと論文サーベイでstate of the industryを俯瞰する、みたいな発表が好みだったのでこの日も収穫がとても多かったです。この日は発表とLTをそれぞれ一つずつやったので、準備も大変でかなり緊張しましたが、予想よりうまくできたのでかなりホッとしました:blush:。夜はナイトセッションということでお土産のお酒をみんなで飲んだり、ボードゲームをやったり、久しぶりに会う友人知人と語り明かしたりすることができてかなり充実した1日でした。 翌日はみんなで荷物をまとめて解散し駅へ行き、モカソフトを同行者一同で食べ、友人とちょっとした観光をし、帰路に着きました。 ## 発表 自分が所属している会社が取り組んでいること/仕事でやっていること(高パフォーマンス・低レイテンシシステムの開発)と自分の趣味(OCaml)が交差するテーマでお話をしました。スライド等の公開は残念ながらありませんが、興味があれば是非ご連絡ください、お話しできると思います。 上手く質問などに答えられるか不安がありましたが、結構色々な質問が飛んできても難なく答えられる程度には身についていることにホッとする自分がありました。一方、今回話した内容のほとんどは先人の積み上げてきた技術や知見だったので、次は自分が取り組んだことについて話せるようにやっていきたいと思います。 ## 交流イベントを支える技術 <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">おれはなぜ「クラシックなキーボードが90年代のコンピュータの画面を突き破っている画像」をStableDiffusionで生成するためのクエリを見つける競技に参加しているんだ?(情報科学若手の会の交流会オンライン参加)</p>&mdash; 画力・博士号・油田 (@bd_gfngfn) <a href="https://twitter.com/bd_gfngfn/status/1573267583956324352?ref_src=twsrc%5Etfw">September 23, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 情報科学若手の会では、毎年アイスブレイク目的も兼ねて交流イベントを開催します。今回ははじめてのハイブリッド開催ということで、可能であればオンラインの人で参加したい人も参加可能な感じにしたいね〜!という話があり、Stable Diffusionが話題になった頃にこれだとなり画像生成モデルを使ったゲームをすることにしました。 ルールは次のようなものでした: - 参加者はチームに分かれてDiscordのプライベートチャンネルに参加する(Discordは参加者同士の交流用に用意していました) - 以下を1ラウンドとし、繰り返す - お題画像が提示される - チーム内のプライベートチャットでプロンプトを特定の文法で投げると、DiscordボットがStable Diffusionにそれを流し込み、生成した画像を返信する - 制限時間内に可能な限りお題に近いような画像をチーム内で何度も生成し、最も良いとされる画像を提出 - 制限時間が過ぎたのち、10個程の採点基準のYes/No質問が開示され、提出画像に基準に当てはまる項目ごとに1点を取得 おかげさまでかなり盛り上がり、面白い画像も沢山生成されました。参加者のみなさん、準備・運営を回してくれた幹事のみなさん、ルール考案を手伝ってくれたbe_Paprikaさん、ボットで遊んでフィードバックをくれたロ技研同期のみなさん、ありがとうございました。 自分はこれに向けて上記Discordボット開発とイベント中のサービスの死活監視を担当していたので、それらについてちょっと紹介します。 Stable Diffusionはそこそこ重いモデルで、たとえばRTX 3080みたいなそこそこ良いGPUを使っても1/4-1/3ほどメモリを食いつつ一回推論するのに数秒ほどかかります。それを比較的多数の参加者が同時に沢山クエリを投げてくることを考えると、明らかに1台のGPUつきAWSインスタンスではsub-1リクエスト/sしか捌けず、力不足です。かといって、Stable Diffusionをまともに回せるレベルのGPUインスタンスとなると1つ当たり1時間数千円掛かってしまい、とても予算的に現実的ではありません。 そこで、今回は[vast.ai](https://vast.ai/)という個人のGPU貸出とレンタルをしたい人をマッチングするプラットフォームを利用して運用コストを押し下げつつ、システムをサーバー・ワーカー構成にすることによって柔軟にロードに応じてワーカーインスタンスを減らしたり増やしたりできるようにしてみました。イベント中は主にクエリの増え方に応じてバンバンインスタンスを手動で立ち上げてロードに合わせてスケールをしつつ、サーバーがバグったり落ちたりしないことをログを見ながら祈る、みたいなことをしていました。 ワーカーの設計上メモリが許す限りGPU当たりワーカーを複数立ち上げて並列にクエリを処理できることに途中で気付いたこともあり、制限時間が減ってきた時の怒涛のリクエストも(1回のトラブルを除いて:innocent:)無事捌くことができました。 vast.aiはUIが結構未熟な感じがした一方、APIやCLIが一応あり、中々便利でした。ingress/egressにも一応料金が掛かるみたいで、データインテンシブな機械学習タスクには少し使いにくそうな感じがしますが、こういうマッチするタスクに関してはかなり安く使えるのでオススメです。 [サーバー・ワーカー共にソースをこちらに公開](https://github.com/wakate/stable-diffusion-bot)したので、興味があれば是非遊んでみてください。 ## 最後に 後日知人に若手の会の話をした際に「パッとみた感じだとどういう人が参加することを想定している会なのかよくわからなくて、二泊三日だから参加のハードルが高く感じた」という指摘をされました。実際いきなり現地参加は結構ハードルが高いとは思いますが、そういう方には冬に例年やっている短縮版の[情報科学若手の会 冬の陣](https://wakate.connpass.com/event/113980/)に参加してもらったり、オンライン参加をしてもらってどういう集まりか知ってもらえればと思います。 来年もみなさんのご発表・ご参加をお待ちしています!

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lost their connection.

Create a note from template

Create a note from template

Oops...
This template is not available.


Upgrade

All
  • All
  • Team
No template found.

Create custom template


Upgrade

Delete template

Do you really want to delete this template?

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Tutorials

Book Mode Tutorial

Slide Mode Tutorial

YAML Metadata

Contacts

Facebook

Twitter

Discord

Feedback

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions

Versions and GitHub Sync

Sign in to link this note to GitHub Learn more
This note is not linked with GitHub Learn more
 
Add badge Pull Push GitHub Link Settings
Upgrade now

Version named by    

More Less
  • Edit
  • Delete

Note content is identical to the latest version.
Compare with
    Choose a version
    No search result
    Version not found

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub

      Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more

       Sign in to GitHub

      HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Available push count

      Upgrade

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Upgrade

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully