Answered on SO, but re-posting here (since this is the first result that comes up when I looked up the same question):
I found a comment in a GitHub issue that explained this well:

current implementation comes from the torch re-implementation, which is based on the single GPU implementation from Alex which uses 256 filters, while the 2GPU implementation from Krizhevsky uses 384 filters.

The original AlexNet model needed to be trained across 2 GTX 580 3GB GPUs because the model was too large to be trained on a single GPU (at the time). Krizhevsky (the author of the paper) released a single GPU implementation with different dimensions and the PyTorch implementation comes from there.