LLMs understand nullability
a year ago
- #Nullability
- #LLMs
- #Code Understanding
- 像ChatGPT、Claude和DeepSeek这样的大型语言模型(LLMs)可以在多个领域编写代码,使非技术用户也能进行编程。
- 关于LLMs能否独立编写正确代码以及它们是否真正'理解'自己生成的代码,仍存在关键问题。
- LLMs的理解能力通过内部表征和'思维过程'来衡量,这些可以通过模型激活进行研究。
- 代码属性(如变量是否可为空的'可空性')由于静态分析工具的存在,比自然语言概念更容易进行严格研究。
- 实验表明,LLMs学会了推断可空性规则,且模型越大在复杂类型推断任务上表现越好。
- 研究开发了'可空性探针'来测量模型内部状态,揭示了LLMs如何表示和推理可空变量。
- 模型对可空性的理解会随着训练而提升,但较小的模型可能在持续训练后出现性能倒退。
- 该研究为理解LLMs内部如何表征编程概念提供了见解,为未来研究更高层次的代码理解铺平了道路。