Implementing a caption generation model