CodeGemma 是一系列強大且輕量化的模型,可以執行各種程式碼相關任務,例如程式碼中間填空、程式碼生成、自然語言理解、數學推理和指令遵循。

2b 7b

476.7K 6 個月前

讀我檔案

CodeGemma 是一系列強大且輕量化的模型,可以執行各種程式碼相關任務,例如程式碼中間填空、程式碼生成、自然語言理解、數學推理和指令遵循。

變體

  • instruct 一個 7b 指令調整變體,用於自然語言轉程式碼聊天和指令遵循
  • code 一個 7b 預訓練變體,專門用於從程式碼前綴和/或後綴完成和生成程式碼
  • 2b 最先進的 2B 預訓練變體,提供高達 2 倍更快的程式碼完成速度

優點

  • 智慧程式碼完成和生成:完成程式碼行、函數,甚至生成整個程式碼區塊,無論您是在本地工作還是使用 Google Cloud 資源。

  • 增強的準確性:CodeGemma 模型在來自網路文件、數學和程式碼的 5000 億個詞元(主要為英語)上進行訓練,生成的程式碼不僅在語法上更正確,而且在語義上也更有意義,從而減少錯誤和除錯時間。

  • 多語言能力:支援 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 和其他語言。

  • 簡化的工作流程:將 CodeGemma 模型整合到您的開發環境中,以減少編寫樣板程式碼,並專注於有趣且與眾不同的重要程式碼,從而更快地完成工作。

benchmarks

中間填空

CodeGemma 模型支援中間填空 (FIM),用於自動完成或程式碼助手工具。以下是使用 Ollama Python 程式庫的範例

response = generate(
  model='codegemma:2b-code',
  prompt=f'<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>',
  options={
    'num_predict': 128,
    'temperature': 0,
    'top_p': 0.9,
    'stop': ['<|file_separator|>'],
  },
)

參考文獻

Hugging Face

報告