🔖

Qiitaのいいねが多かった投稿ベスト10をGPT-4にまとめさせてみた

2023/04/14に公開

概要

GPT-4を使い、Qiitaのメールで送られてくるいいねランキング上位10の記事の要点をまとめてみました。
今回は2023/04/03 〜 2023/04/09のいいねが多かった投稿ベスト10です。
手法は、できる限り全文を読み込ませるため、DeepLで英訳させてから読み込ませました。
命令文としては下記の文章を英訳させてから使用しました。

# 命令書
あなたは、プロの編集者です。以下の制約条件から文章を出力してください。
# 制約条件
・箇条書きで書くこと
・簡潔に書くこと
・専門用語はわかりやすい言葉に変換すること
# 入力文:

1位 GPT-4時代のエンジニアの生存戦略

https://qiita.com/lazy-kz/items/e4932f1a90c2a7986ef5?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • 2023年3月1日にOpenAIが公開したChatGPT API
  • 2023年3月14日に打ち上げられたGPT-4号機
  • Microsoft 365 Copilotでは、Office製品にGPT-4を搭載しています。
  • 第4次AIブームと言われるジェネレーティブAI
  • GPT-4の実力:
    • 米国司法試験で上位10%のスコアを獲得
    • SATとGREのテストに同等に強い
    • 様々なAIベンチマークでSOTAを上回る性能を発揮
  • GPT-4は、新卒で10万ドルから30万ドルの収入を得る可能性がある
  • AIの性能はどんどん上がっていくだろう
    • トランスフォーマーとスケーリング法則の研究に基づく
    • 性能向上の限界は不明
  • エンジニアの生存戦略:
    • AI必須のペアプログラミング
    • コーディングだけでなく、ビジネスゴールの実現に注力する
    • ベテランエンジニアが
      • AIで開発生産性を向上させる
      • ビジネスサイドとの要件定義
    • ジュニア/若手エンジニアを
      • メンターとしてAIから学ぶ
      • プロンプトエンジニアリングとプロンプトデザインスキルを身につける
  • AIを雇用を奪う敵ではなく、有能な味方として受け入れる。

2位 【ChatGPT】便利な神Chrome拡張機能

https://qiita.com/tak001/items/748f648900dc88419434?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

3位 【GPT】プロンプトエンジニアリング手法まとめ

https://qiita.com/sonesuke/items/24ac25322ae43b5651bc?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • プロンプトエンジニアリングメソッドの概要
  • 重要な用語:
    • プロンプトエンジニアリング:より良い入力プロンプトを作成することによるパフォーマンスの向上
    • ファインチューニング:モデルの精度を向上させるための追加トレーニング
    • ゼロショット/フューショット:例なし、または2~3例
    • 幻覚:正しいように見える誤った情報を出力すること
  • メソッド:
    • Chain of Thought: 関連するQ&Aの例を用いて推論する。
    • Zero-shot-CoT:「ステップバイステップ、ロジカルに考える」を加えてパフォーマンスを向上させる
    • Automatic Chain of Thought:ゼロショットCoT、マニュアルCoT、レトリバー(検索エンジン)の組み合わせ
    • Self-consistency:複数のCoT結果を統合して、より正確な回答を得る。
    • APE(Automatic Prompt Engineer):プロンプトエンジニアリングを自動化し、より良い入力を実現する。
    • UPRISE: Prompt Retriever(LLM)を使って最適なプロンプトを探す
    • Toolformer:検索エンジンや計算などのAPIを取り入れる。
    • ReAct:推論や行動のためのインプットを作り、解決のためのツールにつなげる
    • ART(Automatic Reasoning and Tool-use):LLMを使って推論ステップを生成する。
  • 重要な課題:
    • タスクをステップに分割する
    • 外部からの知識習得のための計画
    • 知識を文脈に取り込む

4位 【完全保存版】GPT を特定の目的に特化させて扱う (Fine-tuning, Prompt, Index, etc.)

https://qiita.com/tmgauss/items/22c4e5e00282a23e569d?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321#4-まとめ

  • LLMの課題です:

    • 分類する: 感情や情緒の識別
    • 世代です: 脚本、アイデアを創る
    • 会話をする: 会話のレスポンスを生成する
    • トランスフォーメーション
      • 翻訳する: 言語を変える
      • 変換する: ピクトグラムの作成
      • 要約する: テキストを要約する
    • 完成させる: 不完全な文章を完成させる
    • 事実のある回答: 事実で答えをサポートする
  • GPT-4:GPT-3.5よりも汎用性が高く、特定のタスクに特化したカスタマイズを得意とする。

  • カスタマイズの方法

    • 微調整を行う: 追加データによるモデルの学習
    • プロンプトデザイン: モデルへのインプットを改善する
  • 微調整をする:

    • JSONL形式のデータセットを用意する。
    • ファイルのアップロード
    • APIによる微調整の実行
    • ファインチューニングされたモデルを使う
    • データセットの質と量にこだわる
  • プロンプトデザイン:

    • 具体的な命令や情報を提供する
    • 特定のタスクにプロンプトテンプレートを使用する
    • 文書ベースのクエリにインデックスとエンベッディングを活用する
    • 高度なタスクのためのユーティリティ・ライブラリの採用
  • 比較する:

    • 微調整ができる: より正確、より専門的、より多くのデータを必要とする
    • プロンプトデザイン: 柔軟性、効率性、データセットと入力処理に依存する。
  • レイテンシーの懸念:

    • プロンプトトークンとコンプリーショントークンを制限する。
    • モデルを変更する。
    • ユーザーエクスペリエンスを向上させるために、ストリームを活用する。
    • エッジでモデルを処理し、ラウンドトリップタイムを短縮する。
  • 信頼性の問題

    • GPTは誤答を生成する可能性がある。
    • Few-shotプロンプティングには限界がある。
    • 思考連鎖型プロンプティングは、回答の質を向上させることができる。
    • 例題を用いたガイダンスにより、不適切な回答を防ぐことができる。
  • セキュリティ対策

    • プロンプト・インジェクションから保護する。

    • ランダムトークンを使用したプリフライトプロンプトチェックを使用する。

    • 悪意のあるインジェクションを防ぐために、入力を検証します。

    • 出力を検証して、意図した結果が得られるようにする。

    • お役立ち資料です:

    • GPTの基礎知識:

    • GPT理論です:

      • 岡崎先生のスライド
      • トランスフォーマーに関するYouTube動画
    • プロンプトの設計です:

    • ライブラリ

      • エンベデッドです:
      • ユーティリティ・ライブラリ:
        • LangChain(ラングチェーン
        • ラマインデックス(LlamaIndex
        • npakaさんの記事
      • レトリバーです:
    • ベクターデータベース

      • Pinecone
      • Redis
      • Postgres (Supabaseと併用)
      • Qdrant
      • Milvus
      • Chroma
      • Weaviate
  • 概要を説明します:

    • 特定の目的のための微調整とプロンプトデザイン。
    • 問題に対処し、有用なリソースを提供した。

5位 オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】

https://qiita.com/silane1001/items/ae2e491abd64c01c7f3e?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • 結論から言うと

    • JavaScriptでオブジェクトをディープコピーするには、structuredClone関数を使用する。
  • 背景

    • JavaScriptのオブジェクトや配列の代入は浅いコピーです。
    • 入れ子になったオブジェクトや配列のディープコピーは難しい。
  • 従来の方法:

    • JSONに変換してディープコピーする。
    • デメリット
      • クローン可能な型が限られる。
      • 処理時間やメモリ使用量が非効率。
      • 再帰的な構造体では動作しない。
  • structuredClone`関数:

    • 専用のディープコピー機能。
    • JSONメソッドより優れている:
      • より多くの型をクローンすることができる。
      • 処理時間やメモリ使用量が効率的。
      • 再帰的な構造体を扱うことができる。
    • すべての主要なブラウザで利用可能。

6位 【新人プログラマ応援】Railsにおける良いコントローラ、悪いコントローラについて

https://qiita.com/jnchito/items/2b57316b39d92ca0e8dc?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • RailsのMVCアーキテクチャ
  • 特に初心者の方はコントローラーにロジックを入れないようにしましょう
  • 優秀なコントローラー:scaffoldに似ている、やせ我慢をする
  • 悪いコントローラー ロジックが多すぎて「太い」、再利用が難しい
  • 複雑なロジックをモデル化し、テストや再利用を容易にする
  • コントローラで例外処理をしないようにする
  • コントローラーに必要なデータだけを用意する
  • コントローラーは交通整理のようなもので、流れを誘導するものであるべきだ。
  • 電子メールは通常、ビューのようなコントローラからSMTP経由で送信される

7位 【サ終】約1年間運営してきたDAOをクローズすることに決めました

https://qiita.com/takuch/items/4ac6b8cc59de774335ff?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

タイトル 1年間の運用を終えたDAOの閉鎖について

  • DAOは230万円の利益を生み出しました。
  • 達成した:
    • サービス改善により売上が増加。
    • NFT会員証、DAO会員証を発行。
    • DAOのシステムを製品に組み込み、ハッカソンで入賞。
  • 閉鎖の理由
    • 貢献度や売上の減少、モチベーションの低下。
    • 運営コスト。
    • 税金の問題。
  • 関係者の皆様への感謝、今後のプロジェクトでの協力を希望します。

8位 New オブジェクト指向の3大要素をWebアプリの実装を例に解説【継承・カプセル化・多態性】

https://qiita.com/takuch/items/4ac6b8cc59de774335ff?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • オブジェクト指向プログラミングの概念に悩む
  • 主な要素:継承、カプセル化、ポリモフィズム
  • 例:書籍管理アプリケーション
  • アプリの機能:本のチェックアウト、返却、メール通知
  • 対象者:ウェブアプリ開発者

継承です:

  • 新しいクラスは、既存のクラスを継承する
  • コードの再利用を促進する
  • 例 BaseControllerを複数のコントローラで共有

カプセル化する:

  • セキュリティのためにオブジェクトのメンバーを保護する
  • データインテグリティを維持する
  • 例 プライベートフィールドとパブリックメソッドを持つBookクラス

ポリモーフィズム:

  • オーバーライドやオーバーロードを利用して、一つのメソッドに異なる動作をさせる。
  • 外部サービスとの接続に便利
  • 例:最小限のコード修正でメール通知をSlack通知に変更

9位 New 駆け出しエンジニアが「エンジニア」を辞めないための具体的な10の対策

https://qiita.com/yosaprog/items/d14e018cf279e31bb532?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • 前回の記事で好評を得た

  • 続編は、シニアの快適な働き方に焦点を当てます。

  • 重要なポイント

    • 取るべき行動
    • 仕事のためのマインドセット
  • 対象者:入社6ヶ月程度の方

  • エンジニアを辞めた主な理由はコミュニケーション不足

  • 職場の人間関係を良くするために、コミュニケーションを増やす

  • キーアクション

    • 元気よく挨拶する
    • 早出遅出
    • ランチやソーシャルイベントに参加する
    • 30分も格闘したら質問する
    • 進捗状況をこまめに報告する
    • 社内チャットツールの活用
    • 同世代の友人を作る
  • マインドセット

    • 未熟と思われることを受け入れる
    • 先輩と自分を比べない
    • 明るい未来を描く

10位 New Whisperで文字起こしをした議事録の発話者の名前を自動的に判定する!

https://qiita.com/sakasegawa/items/50d76ead3038e735e4fe?utm_source=Qiitaニュース&utm_campaign=6bd1664c8f-Qiita_newsletter_561_04_12_2023&utm_medium=email&utm_term=0_e44feaa081-6bd1664c8f-63879321

  • 話者分離機能を搭載した新しい書き起こしアプリ
  • ChatGPT API、Whisper API、Hugging Face Spacesを利用します。
  • スピーカーの日記化:
    • 誰が話しているのかを特定する
    • k-meansなどの手法で話者埋め込みをクラスタリングする。
  • 実装の手順
    • オーディオソースの作成
    • Whisper APIを使ったトランスクライブ
    • speechbrain/spkrec-ecapa-voxceleb でエンベッディングとクラスタリングを作成する。
    • リファレンスオーディオを使ってスピーカーをクラスターに割り当てる
  • クラスタリングと出力フォーマット:
    • 階層型クラスタリング(AgglomerativeClustering)
    • 話者IDを付与したトランスクリプトを表示する
  • 話者名を付与する:
    • 参照話者埋込と発話埋込の比較
    • コサイン類似度を使って、最も近いリファレンススピーカーを見つける。

最後に

わかるようなわからないような感じです。
長文だと分けないと読み込めなかったりで手間もかかりました。

Discussion